dav-mcp — Claude Code MCP server: what it does, how to install
Connects AI assistants to CalDAV, CardDAV, and VTODO servers. Provides 27 dedicated tools to manage calendars, address books, and task lists.
claude mcp add dav-mcp -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_REFRESH_TOKEN=<GOOGLE_REFRESH_TOKEN> -- npx -y dav-mcpWhat dav-mcp does
This server bridges AI agents with personal information servers over standard WebDAV extensions. Inside are 27 specialized tools: 12 for CalDAV events, 8 for CardDAV address books, and 7 for VTODO tasks. It runs targeted queries like calendar_query and todo_query instead of pulling entire databases.
Agents can modify individual attributes, update custom X-* metadata, or submit raw iCal and vCard payloads when needed. The server also checks client-side schedule availability through freebusy_query. Batch fetching is available via multi-get actions.
Floating events without an explicit timezone inherit the calendar zone, or fall back to the host TZ variable. You can run the process via npx, launch a Docker container, or host an HTTP endpoint protected by a Bearer token.
What it helps with
- query calendar events by date, text, or location without dumping all data
- manage vCard contacts with phone numbers, emails, and custom properties
- track VTODO items by status, due dates, and priority levels
- inspect free and busy time intervals before scheduling meetings
Example prompts for the agent
- List all calendar events scheduled for this Friday and check my free time.
- Create a new VTODO task named 'Review release notes' due tomorrow.
- Update the organization and email address for contact John Doe.
How to install dav-mcp
Platform CLI
claude mcp add dav-mcp -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_REFRESH_TOKEN=<GOOGLE_REFRESH_TOKEN> -- npx -y dav-mcpReplace <…> with your own values. 5 more environment variables are in the server README
Platform CLI
codex mcp add dav-mcp --env CALDAV_SERVER_URL=<CALDAV_SERVER_URL> --env CALDAV_USERNAME=<CALDAV_USERNAME> --env CALDAV_PASSWORD=<CALDAV_PASSWORD> --env AUTH_METHOD=<AUTH_METHOD> --env GOOGLE_SERVER_URL=<GOOGLE_SERVER_URL> -- npx -y dav-mcpReplace <…> with your own values. 5 more environment variables are in the server README
Config file
{
"mcpServers": {
"dav-mcp": {
"command": "npx",
"args": [
"-y",
"dav-mcp"
],
"env": {
"CALDAV_SERVER_URL": "<CALDAV_SERVER_URL>",
"CALDAV_USERNAME": "<CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<CALDAV_PASSWORD>",
"AUTH_METHOD": "<AUTH_METHOD>",
"GOOGLE_SERVER_URL": "<GOOGLE_SERVER_URL>"
}
}
}
}Replace <…> with your own values. 5 more environment variables are in the server README
Config file
{
"servers": {
"dav-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"dav-mcp"
],
"env": {
"CALDAV_SERVER_URL": "<CALDAV_SERVER_URL>",
"CALDAV_USERNAME": "<CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<CALDAV_PASSWORD>",
"AUTH_METHOD": "<AUTH_METHOD>",
"GOOGLE_SERVER_URL": "<GOOGLE_SERVER_URL>"
}
}
}
}Replace <…> with your own values. 5 more environment variables are in the server README
Platform CLI
gemini mcp add -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e AUTH_METHOD=<AUTH_METHOD> -e GOOGLE_SERVER_URL=<GOOGLE_SERVER_URL> dav-mcp npx -y dav-mcpReplace <…> with your own values. 5 more environment variables are in the server README
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 dav-mcp
How do I install dav-mcp in Claude Code?
Run this terminal command: `claude mcp add dav-mcp -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_REFRESH_TOKEN=<GOOGLE_REFRESH_TOKEN> -- npx -y dav-mcp`.
What protocols does dav-mcp support?
It supports CalDAV for event scheduling, CardDAV for contacts, and VTODO for task lists. In total, 27 tools cover reading, updating, and querying these resources.
How does dav-mcp resolve event timezones?
Events lacking a timezone adopt their calendar's configured zone. If the calendar omits one, the server defaults to the TZ environment variable or the host system clock.