
Caldav Mcp
Connects Claude to any CalDAV server to manage calendar events through standard protocol operations. You get six tools: list calendars, query events by date range, create events with optional recurrence rules, update existing events by UID, and delete events. Supports the usual event fields like summary, description, location, plus recurring events with daily, weekly, monthly, or yearly patterns. Configuration requires your CalDAV server URL and credentials as environment variables. Useful when you want Claude to schedule meetings, check availability, or manage calendar entries directly instead of just generating ics files or giving you commands to run manually.
- GitHub stars
- 78
- tools
- 10
- auth
- Secret needed
- transport
- STDIO
- env vars
- 3
- last updated
- May 27, 2026
Tools
10 toolsPublic tool metadata for what this MCP can expose to an agent.
list-calendarsList all calendars returning both name and absolute URL. Pass a calendar's `url` unchanged as `calendarUrl` to the other tools.
List all calendars returning both name and absolute URL. Pass a calendar's `url` unchanged as `calendarUrl` to the other tools.
No parameter schema in public metadata yet.
list-eventsList all events between start and end date in the calendar specified by its URL
List all events between start and end date in the calendar specified by its URL
No parameter schema in public metadata yet.
create-eventCreates an event in the calendar specified by its URL. For all-day events, set `wholeDay` to true. For a single-day all-day event, use `start` and `end` datetimes on the same calendar date; they do not need to be identical timestamps.
Creates an event in the calendar specified by its URL. For all-day events, set `wholeDay` to true. For a single-day all-day event, use `start` and `end` datetimes on the same calendar date; they do not need to be identical timestamps.
No parameter schema in public metadata yet.
update-eventUpdates an existing event in the calendar specified by its URL. Only provided fields are changed. For a one-day full-day event, set `wholeDay` to true and set `start` and `end` to the same calendar day.
Updates an existing event in the calendar specified by its URL. Only provided fields are changed. For a one-day full-day event, set `wholeDay` to true and set `start` and `end` to the same calendar day.
No parameter schema in public metadata yet.
delete-eventDeletes an event in the calendar specified by its URL
Deletes an event in the calendar specified by its URL
No parameter schema in public metadata yet.
list-todosList tasks (VTODOs) in the calendar specified by its URL. By default returns only open tasks (NEEDS-ACTION and IN-PROCESS), sorted by manual order then due date. Use `status` to include completed (`COMPLETED`) or all (`ALL`) tasks, and `limit`/`offset` to page through long lists.
List tasks (VTODOs) in the calendar specified by its URL. By default returns only open tasks (NEEDS-ACTION and IN-PROCESS), sorted by manual order then due date. Use `status` to include completed (`COMPLETED`) or all (`ALL`) tasks, and `limit`/`offset` to page through long lists.
No parameter schema in public metadata yet.
create-todoCreates a task (VTODO) in the calendar specified by its URL. Only `summary` is required; a task may have no dates. Use `due` for a deadline and `start` for when work should begin.
Creates a task (VTODO) in the calendar specified by its URL. Only `summary` is required; a task may have no dates. Use `due` for a deadline and `start` for when work should begin.
No parameter schema in public metadata yet.
update-todoUpdates an existing task (VTODO) in the calendar specified by its URL. Only provided fields are changed. To mark a task done, prefer the `complete-todo` tool.
Updates an existing task (VTODO) in the calendar specified by its URL. Only provided fields are changed. To mark a task done, prefer the `complete-todo` tool.
No parameter schema in public metadata yet.
complete-todoMarks a task (VTODO) as done. Sets its status to COMPLETED and records the completion time.
Marks a task (VTODO) as done. Sets its status to COMPLETED and records the completion time.
No parameter schema in public metadata yet.
delete-todoDeletes a task (VTODO) in the calendar specified by its URL
Deletes a task (VTODO) in the calendar specified by its URL
No parameter schema in public metadata yet.
Sponsors
Configuration
CALDAV_BASE_URL*Base URL of the CalDAV server (e.g. https://caldav.example.com)
CALDAV_USERNAME*Username for CalDAV authentication
CALDAV_PASSWORD*secretPassword for CalDAV authentication
Readme
caldav-mcp
🗓️ A CalDAV Model Context Protocol (MCP) server to expose calendar operations as tools for AI assistants.
✨ Features
- Connect to CalDAV servers
- List calendars
- List calendar events within a specific timeframe
- Create calendar events
- Update calendar events
- Delete calendar events by UID
Setup
Details
- Repository
- github.com/dominik1001/caldav-mcp
- Category
- Productivity & Office
- Package
caldav-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active