CalDAV MCP Server — Claude Code MCP server: setup guide
Connects AI assistants to iCloud Calendar through CalDAV. It helps schedule events with multiple reminders and inspect upcoming appointments.
claude mcp add caldav-mcp -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcpWhat CalDAV MCP Server 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.
What it helps with
- 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 for the agent
- 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
How to install CalDAV MCP Server
Platform CLI
claude mcp add caldav-mcp -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcpReplace <…> with your own values
Platform CLI
codex mcp add caldav-mcp-server --env CALDAV_USERNAME=<CALDAV_USERNAME> --env CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcpReplace <…> with your own values
Config file
{
"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
Config file
{
"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
Platform CLI
gemini mcp add -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> caldav-mcp-server npx -y @lukegskw/caldav-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about CalDAV MCP Server
How do I install CalDAV MCP Server in Claude Code?
Run claude mcp add caldav-mcp -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y @lukegskw/caldav-mcp in your terminal. Replace the placeholders with your Apple Account address and an app-specific password.
What does CalDAV MCP Server do?
It provides tools to discover, read, and manage iCloud Calendar entries. The server also handles multiple reminders and Apple travel time extensions.
What credentials does the server require?
You must generate an Apple app-specific password and provide your account email. Your main Apple Account password will not work.