A CalDAV client using Model Context Protocol (MCP) to expose calendar operations as tools for AI assistants.
33 stars
TypeScript
Updated Oct 19, 2025
caldav
mcp
mcp-server
typescript
Documentation
caldav-mcp
✨ Features
- Connect to CalDAV servers
- List calendars
- List calendar events within a specific timeframe
- Create calendar events
- Delete calendar events by UID
Setup
code
{
"mcpServers": {
...,
"calendar": {
"command": "npx",
"args": [
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "",
"CALDAV_USERNAME": "",
"CALDAV_PASSWORD": ""
}
}
}
}Development
Quick Start
Run the MCP server in development mode with auto-reload:
bash
npm run devThis will run the TypeScript code directly with watch mode and automatically load environment variables from .env.
Manual Build
Alternatively, you can compile TypeScript to JavaScript and run it:
1. Compile:
bash
npx tsc2. Run:
bash
node dist/index.jsAvailable Tools
create-event
Creates 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
list-events
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
delete-event
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
list-calendars
Lists all available calendars.
Parameters: none
Returns:
- List of all available calendars
License
MIT
Similar MCP
Based on tags & features
Trending MCP
Most active this week