@aiwerk/mcp-server-cal
Cal.com scheduling MCP server - manage bookings, event types, and availability directly from your AI assistant.
Why this server?
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.
Install
Two ways to run this server — pick the one that fits.
Option 1 — Hosted (zero setup)
No local runtime, no env vars on your machine — secrets are AES-256-GCM encrypted server-side via HashiCorp Vault.
- Sign up at aiwerkmcp.com.
- Install Cal.com from the catalog and paste your
CAL_API_KEY. - Point your MCP client (Claude.ai, Cursor, Hermes, …) at your hosted endpoint:
with your Bearer token.https://bridge.aiwerk.ch/u/<your-user-id>/mcp
All 12 tools, 3 resources, and 3 prompts appear. Install other AIWerk recipes from the same bridge.
Option 2 — Self-hosted (npx)
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.
Tools
| 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
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 |
Prompts
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 |
Configuration
Claude Desktop
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"
}
}
}
}
Cursor
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"
}
}
}
}
OpenClaw / Universal Recipe
{
"name": "cal",
"command": "npx",
"args": ["@aiwerk/mcp-server-cal"],
"env": {
"CAL_API_KEY": "${CAL_API_KEY}"
}
}
Environment Variables
| 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).
Getting Your API Key
- Go to Cal.com Settings
- Create a new API key
- Copy the key (starts with
cal_live_for production)
Security
- Never commit your API key to version control
- Use environment variables or a secrets manager
- The server only reads
CAL_API_KEYat tool call time, never logs it
About AIWerk MCP
Part 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:
- @aiwerk/mcp-server-imap — IMAP/SMTP email, provider-agnostic
- @aiwerk/mcp-server-wise — Wise (TransferWise) Personal API, read-only
- @aiwerk/mcp-server-clawhub — ClawHub skill catalog
Browse the full catalog (20+ recipes including GitHub, Linear, Notion, Stripe, …) at aiwerkmcp.com.
Contributing
Issues and PRs are welcome! Please open an issue first for larger changes.
License
MIT - AIWerk