npm @aiwerk/mcp-server-calstdioMITupdated 29d ago
Cal.com scheduling MCP server - manage bookings, event types, and availability directly from your AI assistant.
What can you do with mcp server cal?
@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
Install
Add mcp server cal to your client. Pick the one you use.
claude mcp add mcp-server-cal -- npx -y @aiwerk/mcp-server-calcodex mcp add mcp-server-cal -- npx -y @aiwerk/mcp-server-calamp mcp add mcp-server-cal -- npx -y @aiwerk/mcp-server-cal{
"mcpServers": {
"mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server-cal","command":"npx","args":["-y","@aiwerk/mcp-server-cal"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server-cal": {
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server-cal": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server-cal": {
"command": {
"path": "npx",
"args": [
"-y",
"@aiwerk/mcp-server-cal"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @aiwerk/mcp-server-calRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
12 tools
mcp server cal exposes 12 tools to a connected agent.
- 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)
Score
80 / 100
Excellent
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability11/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 21 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 12 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.6Latest | Jun 22, 2026 |