🗓️ A CalDAV Model Context Protocol (MCP) server to expose calendar operations as tools for AI assistants.
- Connect to CalDAV servers
- List calendars
- List calendar events within a specific timeframe
- Create calendar events
- Delete calendar events by UID
{
"mcpServers": {
...,
"calendar": {
"command": "npx",
"args": [
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "<CalDAV server URL>",
"CALDAV_USERNAME": "<CalDAV username>",
"CALDAV_PASSWORD": "<CalDAV password>"
}
}
}
}
Run the MCP server in development mode with auto-reload:
npm run devThis will run the TypeScript code directly with watch mode and automatically load environment variables from .env.
Alternatively, you can compile TypeScript to JavaScript and run it:
- Compile:
npx tsc- Run:
node dist/index.jsCreates a new calendar event.
Parameters:
summary: String - Event title/summarystart: DateTime string - Event start timeend: DateTime string - Event end time
Returns:
- The unique ID of the created event
Lists events within a specified timeframe.
Parameters:
start: DateTime string - Start of the timeframeend: DateTime string - End of the timeframecalendarUrl: String - URL of the calendar
Returns:
- A list of events that fall within the given timeframe, each containing:
uid: Unique identifier for the event (required for deletion)summary: Event title/summarystart: Event start timeend: Event end time
Deletes an event from the calendar.
Parameters:
uid: String - Unique identifier of the event to delete (obtained from list-events)calendarUrl: String - URL of the calendar
Returns:
- Confirmation message when the event is successfully deleted
Lists all available calendars.
Parameters: none
Returns:
- List of all available calendars
MIT