AI-orchestrated calendars, contacts & tasks across any DAV platform. 27 tools, field-agnostic.
io.github.PhilflowIO/dav-mcp (MCP) Server
The io.github.PhilflowIO/dav-mcp Model Context Protocol (MCP) server enables AI-orchestrated management of calendars, contacts, and tasks across any DAV platform. It is described as field-agnostic and provides 27 tools spanning CalDAV, CardDAV, and VTODO.
🛠️ Key Features
AI-orchestrated calendars, contacts & tasks
Works across any DAV platform
Field-agnostic behavior
27 tools covering CalDAV, CardDAV, and VTODO
🚀 Use Cases
Orchestrating calendar operations via CalDAV
Orchestrating contacts operations via CardDAV
Orchestrating task operations via VTODO
⚡ Developer Benefits
Standardized access via MCP (model-context-protocol)
Built on “production-ready tools”
Includes topics for n8n, Claude, and MCP integration
⚠️ Limitations
Documentation excerpt only mentions protocols and tool count; no additional constraints are provided
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)
list_calendars - List all available calendars
list_events - List ALL events (use calendar_query for filtered searches)
create_event - Create a new calendar event
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
update_event_raw - Update event with raw iCal data (advanced)
delete_event - Delete an event permanently
calendar_query - PREFERRED: Search and filter events efficiently by text, date range, or location