calendar-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@calendar-mcpWhat's on my calendar today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
calendar-mcp
Provider-agnostic CalDAV calendar MCP server for AI assistants. Connect any CalDAV calendar to Claude Desktop, Cursor, VS Code, or any MCP-compatible client.
Features
10 calendar tools: list_calendars, get_events, get_event, today, upcoming, search_events, free_busy, create_event, update_event, delete_event
Provider auto-detection: Automatically configures Google, Apple iCloud, Nextcloud, Fastmail from your CalDAV URL
Any CalDAV server: Works with Radicale, Baikal, ownCloud, or any standard CalDAV provider
Read-only mode: Optional safety mode that disables all write operations
Zero external dependencies: Pure Python stdlib for CalDAV/iCal (only
mcpSDK required)RFC 5545 compliant: Proper iCalendar parsing with recurrence rules, durations, timezones, attendees
Related MCP server: mcp-labrat
Quick Start
pip install calendar-mcpConfiguration
Set three environment variables:
export CALENDAR_MCP_URL="https://caldav.icloud.com/"
export CALENDAR_MCP_USERNAME="you@icloud.com"
export CALENDAR_MCP_PASSWORD="your-app-password"All Environment Variables
Variable | Required | Default | Description |
| Yes | — | CalDAV server URL |
| Yes | — | Username (usually email) |
| Yes | — | Password or app-specific password |
| No | Auto-detected | Force provider: google, apple, nextcloud, fastmail, generic |
| No | First calendar | Default calendar name |
| No | false | Set to |
| No | UTC | Default timezone |
Provider Auto-Detection
URL Pattern | Provider | Default CalDAV URL |
googleusercontent.com | ||
caldav.icloud.com | apple | |
office365.com | outlook | |
caldav.fastmail.com | fastmail | |
nextcloud, owncloud | nextcloud | (your server URL) |
anything else | generic | (your server URL) |
Client Configuration
Claude Desktop
{
"mcpServers": {
"calendar": {
"command": "calendar-mcp",
"env": {
"CALENDAR_MCP_URL": "https://caldav.icloud.com/",
"CALENDAR_MCP_USERNAME": "you@icloud.com",
"CALENDAR_MCP_PASSWORD": "your-app-password"
}
}
}
}Claude Code
claude mcp add -e CALENDAR_MCP_URL=https://caldav.icloud.com/ -e CALENDAR_MCP_USERNAME=you@icloud.com -e CALENDAR_MCP_PASSWORD=your-app-password calendar calendar-mcpTools
Tool | Description | Write? |
| List all calendars on the account | No |
| Get events in a date range (configurable days ahead/back) | No |
| Get a single event by UID | No |
| Get all events for today | No |
| Get events in the next N hours | No |
| Search by text in title, description, location | No |
| Free/busy summary with total hours | No |
| Create a new event | Yes |
| Update an existing event (partial updates) | Yes |
| Delete an event by UID | Yes |
Write tools are disabled when CALENDAR_MCP_READ_ONLY=true.
License
Dual-licensed:
AGPL-3.0 — free for open-source use (see LICENSE)
Commercial — for proprietary use (see LICENSE-COMMERCIAL)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/p-w-4-z/calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server