Gives Claude full CRUD access to any CalDAV, CardDAV, or VTODO server through 26 specialized tools. You can query calendars with server-side filters, update individual contact fields without touching the rest of the vCard, manage tasks with priority and due dates, and even create new calendar collections on the fly. Works with Nextcloud, Baikal, Radicale, and iCloud out of the box, plus Google Calendar via OAuth2. The field-agnostic updates are the real win here since you can modify any RFC property or custom X-* field without reconstructing entire iCal objects. Reach for this when you need AI-driven calendar orchestration beyond simple event creation, or when you want contacts and tasks in the same integration.
Give your AI agents the power of organization — Transform them into orchestrating assistants managing calendars, contacts, and tasks.
Built on 26 production-ready tools spanning CalDAV, CardDAV, and VTODO protocols.
Add to your MCP config file:
{
"mcpServers": {
"dav-mcp": {
"command": "npx",
"args": ["-y", "dav-mcp"],
"env": {
"CALDAV_SERVER_URL": "https://dav.example.com",
"CALDAV_USERNAME": "your_username",
"CALDAV_PASSWORD": "your_password"
}
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonRestart Claude Desktop after adding the configuration.
Start the HTTP server:
CALDAV_SERVER_URL=https://dav.example.com \
CALDAV_USERNAME=your_username \
CALDAV_PASSWORD=your_password \
BEARER_TOKEN=your-secret-token \
npx dav-mcp --http
Then in n8n:
http://localhost:3000/mcpCustom port:
npx dav-mcp --http --port=8080
git clone https://github.com/PhilflowIO/dav-mcp.git
cd dav-mcp
cp .env.example .env
# Edit .env with your credentials
docker-compose up
When partial tools force your AI to improvise, complete tools let it execute precise operations across all components.
| Capability | dav-mcp | Most MCPs |
|---|---|---|
| Calendar Management | Full CRUD (11 tools) | Create + list only (2-3 tools) |
| Contact Management | Complete CardDAV (8 tools) | Often missing entirely |
| Task Management | Full VTODO support (7 tools) | Rarely included |
| Field-Based Updates | All RFC properties + custom fields | Rarely available |
| Server-Side Filtering | Efficient queries | Dumps all data |
| Multi-Provider | Any CalDAV/CardDAV server | Limited provider support |
| Total Tools | 26 tools | 2-6 tools |
Works with any CalDAV/CardDAV server that follows RFC 4791 and RFC 6352:
For Google Calendar, use OAuth2 authentication:
{
"mcpServers": {
"dav-mcp": {
"command": "npx",
"args": ["-y", "dav-mcp"],
"env": {
"AUTH_METHOD": "OAuth",
"GOOGLE_USER": "your@gmail.com",
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-client-secret",
"GOOGLE_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
Pull requests are welcome! Please read CONTRIBUTING.md for guidelines.
MIT License - see LICENSE for details
Built with:
Questions? Issues? Create a GitHub issue
Built for AI agents managing calendars, contacts, and tasks
DAV_BASE_URL*Base URL of your CalDAV/CardDAV server
DAV_USERNAME*Username for DAV server authentication
DAV_PASSWORD*secretPassword for DAV server authentication