CalDAV MCP
A CalDAV MCP server to expose calendar operations as tools for AI assistants.
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
{
"mcpServers": {
...,
"calendar": {
"command": "npx",
"args": [
"caldav-mcp"
],
"env": {
"CALDAV_BASE_URL": "<CalDAV server URL>",
"CALDAV_USERNAME": "<CalDAV username>",
"CALDAV_PASSWORD": "<CalDAV password>"
}
}
}
}
Development
Quick Start
Run the MCP server in development mode with auto-reload:
npm run dev
This 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:
- Compile:
npx tsc
- Run:
node dist/index.js
Available 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
update-event
Updates an existing calendar event. Only provided fields are changed.
Parameters:
uid: String - Unique identifier of the event to update (obtained from list-events)calendarUrl: String - URL of the calendarsummary: String (optional) - New event title/summarystart: DateTime string (optional) - New event start timeend: DateTime string (optional) - New event end timedescription: String (optional) - New event descriptionlocation: String (optional) - New event locationrecurrenceRule: Object (optional) - New recurrence rule
Returns:
- The unique ID of the updated event
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
相關伺服器
Kone.vc
贊助Monetize your AI agent with contextual product recommendations
Markdown to WeChat Converter
Converts Markdown text into HTML compatible with WeChat official accounts using an external API key.
Confluence Cloud
Manage Confluence Cloud spaces, pages, and content through a standardized interface for AI assistants.
Dub.co Short Links (Unofficial)
An unofficial MCP server for creating and managing short links with Dub.co.
Zephyr Scale
Manage Zephyr Scale test cases through the Atlassian REST API.
Things MCP
Integrate with the Things 3 to-do app on macOS.
TanukiMCP
Automate and manage WordPress sites using browser automation and API integration.
Puzld MCP
Expose your local AI agent CLIs through one MCP endpoint
Atlassian Confluence
Interact with Atlassian Confluence Cloud spaces, pages, and content in real-time.
NotebookLM Connector
[Claude Code Plugin] Query Google NotebookLM directly from Claude Code via Chrome browser automation — get source-grounded, citation-backed answers with automatic follow-up analysis, all without leaving your terminal.
Claude Auto-Approve MCP
Adds auto-approve functionality for MCP requests to the Claude Desktop application.