@aiwerk/mcp-server-cal

MCP serverProductivity

This integration connects your AI to Cal.com so it can handle scheduling for you. Once added, your AI can book, reschedule, and cancel meetings, check open time slots, and manage your meeting types and working hours.

Unavailable. This server has no hosted endpoint yet, so Ahel can't serve it.

Add to setup to save this item as a reference. Ahel cannot run it, and signing in will not install it.

What your AI can do with it

  • List upcoming, past, or cancelled bookings
  • Book new meetings for attendees at a chosen time
  • Reschedule or cancel existing bookings
  • Check available time slots before booking
  • Create, update, or remove meeting types with their own lengths and details
  • Review working hours and availability rules

Getting started

  1. Save this item in Your setup as a reference.
  2. Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
  3. Check this page for availability before trying to install it through Ahel.

From the project's README

As published by aiwerk/mcp-server-cal in README.md.

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.

  1. Sign up at aiwerkmcp.com.
  2. Install Cal.com from the catalog and paste your CAL_API_KEY.
  3. Point your MCP client (Claude.ai, Cursor, Hermes, …) at your hosted endpoint:
    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.

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

ToolDescription
cal_list_bookingsList bookings with optional filters (status, event type, date range)
cal_get_bookingGet details of a specific booking by UID
cal_create_bookingCreate a new booking (event type, attendee info, time)
cal_cancel_bookingCancel a booking by UID
cal_reschedule_bookingReschedule a booking to a new time
cal_list_event_typesList all event types
cal_get_event_typeGet event type details by ID
cal_create_event_typeCreate a new event type
cal_update_event_typeUpdate an existing event type
cal_delete_event_typeDelete an event type
cal_get_availabilityCheck available slots for an event type in a date range
cal_list_schedulesList all schedules (working hours / availability rules)

Resources

Resources are automatically available in the AI's context — no need to ask for them.

ResourceURIDescription
Upcoming Bookingscal://bookings/upcomingToday's and tomorrow's bookings
Event Typescal://event-typesAll configured event types
Schedulescal://schedulesWorking hours and availability rules

Prompts

Ready-made prompt templates for common scheduling tasks.

PromptDescription
daily-scheduleSummarize today's schedule with bookings and free slots
find-free-slotFind next available time for a specific event type
reschedule-suggestionSuggest 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

VariableRequiredDefaultDescription
CAL_API_KEYYes (on tool call)-Cal.com API key (cal_ or cal_live_ prefix)
CAL_BASE_URLNohttps://api.cal.com/v2Override 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

  1. Go to Cal.com Settings
  2. Create a new API key
  3. 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_KEY at 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:

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

Tools it gives your AI (12)

ToolWhat it does
cal_list_bookingsList bookings with optional filters. Optional: status (upcoming|recurring|past|cancelled|unconfirmed), eventTypeId, dateFrom (ISO 8601), dateTo (ISO 8601), limit.
cal_get_bookingGet details of a specific booking by its UID. Required: uid.
cal_create_bookingCreate a new booking. Required: eventTypeId, start (ISO 8601), attendeeName, attendeeEmail, attendeeTimezone. Optional: notes, guests (array of emails), metadata.
cal_cancel_bookingCancel a booking by UID. Required: uid. Optional: cancellationReason.
cal_reschedule_bookingReschedule a booking to a new time. Required: uid, newStart (ISO 8601). Optional: reschedulingReason.
cal_list_event_typesList all event types. Optional: teamId, userId to filter by team or user.
cal_get_event_typeGet details of a specific event type by ID. Required: id.
cal_create_event_typeCreate a new event type. Required: title, slug, lengthInMinutes. Optional: description, locations, hidden, metadata.
cal_update_event_typeUpdate an existing event type. Required: id. Optional fields to update: title, slug, lengthInMinutes, description, locations, hidden, metadata.
cal_delete_event_typeDelete an event type by ID. Required: id.
cal_get_availabilityGet available time slots for an event type in a date range. Required: eventTypeId, dateFrom (ISO 8601), dateTo (ISO 8601). Optional: timeZone.
cal_list_schedulesList all schedules (working hours and availability rules).

Signals

Last commit
Aug 2026
Weekly downloads
45
Weekly_downloads
47 weekly_downloads
Tools captured
12
Advanced
Delivery
mcp-server-cal MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-aiwerk-mcp-server-cal
Source
github.com/aiwerk/mcp-server-cal