Transform AI agents into orchestrating assistants managing calendars, contacts, and tasks
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add dav-mcp -- npx -y dav-mcp{
"mcpServers": {
"dav-mcp": {
"command": "npx",
"args": ["-y", "dav-mcp"],
"env": {
"CALDAV_SERVER_URL": "<caldav_server_url>",
"CALDAV_USERNAME": "<caldav_username>",
"CALDAV_PASSWORD": "<caldav_password>",
"BEARER_TOKEN": "<bearer_token>"
}
}
}
}CALDAV_SERVER_URLCALDAV_USERNAMECALDAV_PASSWORDBEARER_TOKENResumen de MCP Servers
# dav-mcp
**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.
[](https://opensource.org/licenses/MIT)
[](https://www.npmjs.com/package/dav-mcp)
---
## Quick Start
### Claude Desktop / Cursor (Local)
Add to your MCP config file:
```json
{
"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:**
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
Restart Claude Desktop after adding the configuration.
---
### n8n (Remote HTTP)
Start the HTTP server:
```bash
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:
1. Add **AI Agent** node
2. Add **MCP Client Tool** node and connect to AI Agent
3. Configure:
- **MCP Endpoint**: `http://localhost:3000/mcp`
- **Authentication**: Bearer
- **Token**: your-secret-token
**Custom port:**
```bash
npx dav-mcp --http --port=8080
```
---
### Docker
Pull the published image (distroless, runs as non-root, no shell):
```bash
docker run -d --name dav-mcp -p 3000:3000 --env-file .env \
ghcr.io/philflowio/dav-mcp:latest
```
Tags: `latest`, the exact release (`4.0.0`) and the minor line (`4.0`).
Set `PORT` to serve on a different port; the healthcheck follows it.
Or build from source:
```bash
git clone https://github.com/PhilflowIO/dav-mcp.git
cd dav-mcp
cp .env.example .env
# Edit .env with your credentials
docker-compose up
```
---
## The Orchestration
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 (12 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 |
| **Free/Busy** | Works on every server (client-side) | Native REPORT, unsupported by most |
| **Server-Side Filtering** | Efficient queries | Dumps all data |
| **Multi-Provider** | Any CalDAV/CardDAV server | Limited provider support |
| **Total Tools** | **27 tools** | **2-6 tools** |
---
## Available Tools (27 Total)
### CalDAV Tools (12 tools)
1. **list_calendars** - List all available calendars
2. **list_events** - List ALL events (use calendar_query for filtered searches)
3. **create_event** - Create a new calendar event
4. **update_event** - PREFERRED: Update any event field (SUMMARY, LOCATION, STATUS, custom X-* properties); move or convert an event with start_date/end_date/all_day
5. **update_event_raw** - Update event with raw iCal data (advanced)
6. **delete_event** - Delete an event permanently
7. **calendar_query** - PREFERRED: Search and filter events efficiently by text, date range, or location
8. **make_calendar** - Create a new calendar collection
9. **update_calendar** - Update calendar properties (display name, description, color, timezone)
10. **delete_calendar** - Permanently delete a calendar and all its events
11. **calendar_multi_get** - Batch fetch multiple specific events by URLs
12. **freebusy_query** - Find free and busy time in a range ("when am I free?"), calculated client-side
### CardDAV Tools (8 tools)
12. **list_addressbooks** - List all available address books
13. **list_contacts** - List ALL contacts (use addressbook_query for filtered searches)
14. **create_contact** - Create a new contact (vCard)
15. **update_contact** - PREFERRED: Update any contact field (FN, EMAIL, TEL, ORG, ADR, custom X-* properties)
16. **update_contact_raw** - Update contact with raw vCard data (advanced)
17. **delete_contact** - Delete a contact permanently
18. **addressbook_query** - PREFERRED: Search and filter contacts efficiently by name, email, or organization
19. **addressbook_multi_get** - Batch fetch multiple specific contacts by URLs
### VTODO Tools (7 tools)
20. **list_todos** - List ALL todos/tasks (use todo_query for filtered searches)
21. **create_todo** - Create a new todo/task with optional due date, priority, status
22. **update_todo** - PREFERRED: Update any todo field (SUMMARY, STATUS, PRIORITY, DUE, PERCENT-COMPLETE, custom X-* properties)
23. **update_todo_raw** - Update todo with raw VTODO iCal data (advanced)
24. **delete_todo** - Delete a todo/task permanently
25. **todo_query** - PREFERRED: Search and filter todos efficiently by status/due date
26. **todo_multi_get** - Batch fetch multiple specific todos by URLs
---
## Real-World Applications
### n8n Automation Workflows
- **Meeting Management**: "Show me all Friday meetings" → calendar_query with date filter returns only relevant events
- **Contact Search**: "Find everyone at Google" → addressbook_query with org filter finds matches efficiently
- **Task Reporting**: "Show overdue high-priority tasks" → todo_query with filters returns specific results
- **Scheduled Cleanup**: Daily cron job deletes completed tasks using targeted queries
### Claude Desktop Integration
- **Quick Event Creation**: "Create team meeting tomorrow 2 PM" → create_event executes immediately
- **Contact Lookup**: "What's Sarah's email?" → addressbook_query with name filter finds contact
- **Calendar Overview**: "What's on my calendar next week?" → calendar_query with date range shows events
- **Calendar Management**: "Create a new calendar called Project Luna" → make_calendar creates collection
---
## Works Across All Major Providers
Works with any CalDAV/CardDAV server that follows RFC 4791 and RFC 6352:
- **Nextcloud** - Full support
- **Baikal** - Full support
- **Radicale** - Full support
- **iCloud** - Works with app-specific password
- **Any RFC-compliant server** - Standard protocol support
---
## Google Calendar (OAuth2)
For Google Calendar, use OAuth2 authentication:
```json
{
"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"
}
}
}
}
```
---
## Security
- **Input Validation**: All inputs validated with Zod schemas before execution
- **Rate Limiting**: 100 requests/minute per session (HTTP mode)
- **Bearer Auth**: Token authentication for HTTP transport
- **No Credential Storage**: Pass-through only, never logged or cached
- **Structured Logging**: Audit trail with request IDs, no PII exposure
- **CORS Protection**: Whitelist origins, block cross-site attacks
---
## Documentation
- **[MCP Specification](https://modelcontextprotocol.io/specification/2025-03-26)** - Model Context Protocol docs
- **[tsdav Docs](https://tsdav.vercel.app/docs/intro)** - CalDAV/CardDAV library reference
- **[CalDAV RFC 4791](https://datatracker.ietf.org/doc/html/rfc4791)** - CalDAV protocol specification
- **[CardDAV RFC 6352](https://datatracker.ietf.org/doc/html/rfc6352)** - CardDAV protocol specification
---
## Contributing
Pull requests are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
---
## License
MIT License - see [LICENSE](LICENSE) for details
---
## Acknowledgments
Built with:
- **[tsdav](https://github.com/natelindev/tsdav)** - Excellent TypeScript CalDAV/CardDAV library
- **[tsdav-utils](https://github.com/PhilflowIO/tsdav-utils)** - Field-agnostic utility layer for RFC-compliant field updates
- **[MCP SDK](https://modelcontextprotocol.io)** - Model Context Protocol by Anthropic
- **[ical.js](https://github.com/kewisch/ical.js)** - RFC-compliant iCalendar parser
---
**Questions? Issues?** Create a [GitHub issue](https://github.com/PhilflowIO/dav-mcp/issues)
---
*Built for AI agents managing calendars, contacts, and tasks*
Lo que la gente pregunta sobre dav-mcp
¿Qué es PhilflowIO/dav-mcp?
+
PhilflowIO/dav-mcp es mcp servers para el ecosistema de Claude AI. Transform AI agents into orchestrating assistants managing calendars, contacts, and tasks Tiene 31 estrellas en GitHub y su última actualización registrada es del 2026-09-10.
¿Cómo se instala dav-mcp?
+
Puedes instalar dav-mcp clonando el repositorio (https://github.com/PhilflowIO/dav-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar PhilflowIO/dav-mcp?
+
Nuestro agente de seguridad ha analizado PhilflowIO/dav-mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene PhilflowIO/dav-mcp?
+
PhilflowIO/dav-mcp es mantenido por PhilflowIO. La última actividad registrada en GitHub es del 2026-09-10, con 1 issues abiertos.
¿Hay alternativas a dav-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega dav-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/philflowio-dav-mcp)<a href="https://claudewave.com/repo/philflowio-dav-mcp"><img src="https://claudewave.com/api/badge/philflowio-dav-mcp" alt="Featured on ClaudeWave: PhilflowIO/dav-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!