caldav-mcp — Claude Code MCP server: what it does, how to install
Connects CalDAV accounts to AI assistants to list, schedule, and update calendar events alongside VTODO task lists directly from your workspace.
claude mcp add caldav-mcp -e CALDAV_BASE_URL=<CALDAV_BASE_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y caldav-mcpWhat caldav-mcp does
This server bridges the CalDAV protocol to MCP tools. The workflow starts with list-calendars, which yields calendar names and absolute URLs. That URL feeds into subsequent tools to inspect events inside a time range, create appointments with recurrence rules, or remove items by UID.
The toolset also covers VTODO task management. You can pull open items with pagination ranging between 50 and 500 records, schedule new todos with deadlines, and update task statuses.
Running the server requires three environment variables: CALDAV_BASE_URL, CALDAV_USERNAME, and CALDAV_PASSWORD. Without valid authentication details, requests to your CalDAV host fail immediately.
What it helps with
- retrieve calendar events across a specific date window
- schedule recurring events with custom repeat frequencies
- filter pending VTODO tasks by status or due dates
- update or delete an existing appointment by its UID
Example prompts for the agent
- List my calendars and fetch all scheduled meetings for tomorrow
- Add a recurring sprint planning event every Monday at 10 AM
- Show me incomplete tasks due before Friday
How to install caldav-mcp
Platform CLI
claude mcp add caldav-mcp -e CALDAV_BASE_URL=<CALDAV_BASE_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y caldav-mcpReplace <…> with your own values
Platform CLI
codex mcp add caldav-mcp --env CALDAV_BASE_URL=<CALDAV_BASE_URL> --env CALDAV_USERNAME=<CALDAV_USERNAME> --env CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y caldav-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"caldav-mcp": {
"command": "npx",
"args": [
"-y",
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "<CALDAV_BASE_URL>",
"CALDAV_USERNAME": "<CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<CALDAV_PASSWORD>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"caldav-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "<CALDAV_BASE_URL>",
"CALDAV_USERNAME": "<CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<CALDAV_PASSWORD>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e CALDAV_BASE_URL=<CALDAV_BASE_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> caldav-mcp npx -y 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
How do I install caldav-mcp in Claude Code?
Run `claude mcp add caldav-mcp -e CALDAV_BASE_URL=<CALDAV_BASE_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -- npx -y caldav-mcp` in your terminal. Replace the placeholders with your CalDAV credentials.
What does caldav-mcp do?
It exposes tools for fetching calendars, creating and editing events, and tracking VTODO task items through your CalDAV provider.
Which environment variables are required?
You must configure CALDAV_BASE_URL, CALDAV_USERNAME, and CALDAV_PASSWORD so the server can authenticate.