Cal.com scheduling MCP server: manage bookings, event types, and availability.
Cal.com scheduling MCP server - manage bookings, event types, and availability directly from your AI assistant.
Connect Claude, Cursor, or any MCP-compatible AI to your Cal.com account. Create bookings, check availability, manage event types, and view schedules - all via natural language.
Two ways to run this server — pick the one that fits.
No local runtime, no env vars on your machine — secrets are AES-256-GCM encrypted server-side via HashiCorp Vault.
CAL_API_KEY.https://bridge.aiwerk.ch/u/<your-user-id>/mcp
with your Bearer token.All 12 tools, 3 resources, and 3 prompts appear. Install other AIWerk recipes from the same bridge.
Run directly — you manage the API key:
CAL_API_KEY=cal_live_your_api_key_here npx @aiwerk/mcp-server-cal
Or wire it into your MCP client config — see Configuration below.
| Tool | Description |
|---|---|
cal_list_bookings | List bookings with optional filters (status, event type, date range) |
cal_get_booking | Get details of a specific booking by UID |
cal_create_booking | Create a new booking (event type, attendee info, time) |
cal_cancel_booking | Cancel a booking by UID |
cal_reschedule_booking | Reschedule a booking to a new time |
cal_list_event_types | List all event types |
cal_get_event_type | Get event type details by ID |
cal_create_event_type | Create a new event type |
cal_update_event_type | Update an existing event type |
cal_delete_event_type | Delete an event type |
cal_get_availability | Check available slots for an event type in a date range |
cal_list_schedules | List all schedules (working hours / availability rules) |
Resources are automatically available in the AI's context — no need to ask for them.
| Resource | URI | Description |
|---|---|---|
| Upcoming Bookings | cal://bookings/upcoming | Today's and tomorrow's bookings |
| Event Types | cal://event-types | All configured event types |
| Schedules | cal://schedules | Working hours and availability rules |
Ready-made prompt templates for common scheduling tasks.
| Prompt | Description |
|---|---|
daily-schedule | Summarize today's schedule with bookings and free slots |
find-free-slot | Find next available time for a specific event type |
reschedule-suggestion | Suggest alternative times for rescheduling a booking |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"cal": {
"command": "npx",
"args": ["@aiwerk/mcp-server-cal"],
"env": {
"CAL_API_KEY": "cal_live_your_api_key_here"
}
}
}
}
Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"cal": {
"command": "npx",
"args": ["@aiwerk/mcp-server-cal"],
"env": {
"CAL_API_KEY": "cal_live_your_api_key_here"
}
}
}
}
{
"name": "cal",
"command": "npx",
"args": ["@aiwerk/mcp-server-cal"],
"env": {
"CAL_API_KEY": "${CAL_API_KEY}"
}
}
| Variable | Required | Default | Description |
|---|---|---|---|
CAL_API_KEY | Yes (on tool call) | - | Cal.com API key (cal_ or cal_live_ prefix) |
CAL_BASE_URL | No | https://api.cal.com/v2 | Override the Cal.com API base URL |
The server starts and responds to tools/list without CAL_API_KEY. The key is only required when an actual tool is called (lazy credentials pattern).
cal_live_ for production)CAL_API_KEY at tool call time, never logs itPart of the AIWerk MCP platform — curated, signed MCP recipes served either as npm packages for self-hosting or through our multi-tenant hosted bridge (bridge.aiwerk.ch).
Other AIWerk MCP servers:
Browse the full catalog (20+ recipes including GitHub, Linear, Notion, Stripe, …) at aiwerkmcp.com.
Issues and PRs are welcome! Please open an issue first for larger changes.
MIT - AIWerk
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @aiwerk/mcp-server-calMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-aiwerk-mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceio.github.AIWerk/mcp-server-cal works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.