# CalDAV MCP Server

Connects AI assistants to iCloud Calendar through CalDAV. It helps schedule events with multiple reminders and inspect upcoming appointments.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: lukegskw
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/lukegskw/caldav-mcp
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/caldav-mcp-server

## What it does

This TypeScript server exposes six calendar tools over MCP. It lets clients search available calendars, query intervals up to 366 days, and expand recurring appointments automatically. When adding events, it handles all-day blocks, recurrence rules, travel duration, and native multi-VALARM notifications.

All operations stay in memory without external databases or tracking telemetry. The engine keeps the full iCalendar structure safe. Patching an entry preserves existing `VTIMEZONE` blocks, custom Apple properties, and unmentioned alarms. It relies on ETags to prevent conflicting overwrites.

The initial release specifically validates iCloud Calendar. Running it requires an Apple app-specific password alongside Node.js 22 or newer. Because the client configuration stores credentials, keep the configuration file secured.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `CALDAV_USERNAME`, `CALDAV_PASSWORD` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add caldav-mcp -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add caldav-mcp-server --env CALDAV_USERNAME=<CALDAV_USERNAME> --env CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "caldav-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@lukegskw/caldav-mcp"
            ],
            "env": {
                "CALDAV_USERNAME": "<CALDAV_USERNAME>",
                "CALDAV_PASSWORD": "<CALDAV_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "caldav-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@lukegskw/caldav-mcp"
            ],
            "env": {
                "CALDAV_USERNAME": "<CALDAV_USERNAME>",
                "CALDAV_PASSWORD": "<CALDAV_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> caldav-mcp-server npx -y @lukegskw/caldav-mcp
```
Replace <…> with your own values

## When to use it
- query iCloud calendar entries across custom date intervals
- set up events with multiple display alarms
- configure travel time using Apple Calendar metadata
- modify existing records without losing unpatched iCalendar fields

## Example prompts
- Check my iCloud calendar schedule for the next two weeks
- Schedule a design sync on Friday at 2 PM with two display reminders
- Book a 30-minute appointment tomorrow and add 20 minutes of travel time

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44908
- [screenpipe](https://affpapa.org/en/nevibecode/mcp/screenpipe.md) — MCP server · ★ 22082
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12826
- [kaneo](https://affpapa.org/en/nevibecode/mcp/kaneo.md) — MCP server · ★ 9623
- [Mindwtr](https://affpapa.org/en/nevibecode/mcp/mindwtr.md) — MCP server · ★ 2330
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2071

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
