Skip to main content
The Cal.com MCP server lets you connect AI assistants to your Cal.com account through the Model Context Protocol (MCP). Once connected, you can manage bookings, event types, schedules, and more using natural language — directly from your AI tool.

What you can do

With the MCP server connected, you can ask your AI assistant things like:
  • “What bookings do I have this week?”
  • “Create a 30-minute event type called Quick Chat”
  • “Cancel my meeting with John tomorrow”
  • “Show me my available slots for next Monday”
  • “Reschedule my 2pm meeting to Thursday at 3pm”
  • “What event types do I have?”
The server supports actions across bookings, event types, schedules, availability, conferencing, routing forms, and organization management.

Connect using the hosted server

The quickest way to get started is the hosted server at mcp.cal.com. When you first connect, your AI client walks you through an authorization flow where you grant the server access to your Cal.com account. No API key is needed.
Add the following to your claude_desktop_config.json:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}

Connect using a self-hosted server

If you prefer to run the server locally, you can use an API key instead of the OAuth flow. This option requires Node.js 18 or later.
1

Generate an API key

Go to Settings → Developer → API Keys in your Cal.com dashboard and create a new key.
2

Add the server to your MCP client

Add the following to your MCP client’s configuration, replacing cal_live_xxxx with your actual API key:
{
  "mcpServers": {
    "calcom": {
      "command": "npx",
      "args": ["@calcom/cal-mcp@latest"],
      "env": {
        "CAL_API_KEY": "cal_live_xxxx"
      }
    }
  }
}
Never share or commit your API key. If it’s been exposed, rotate it immediately in your Cal.com settings.

Available tools

The MCP server provides 34 tools organized by category:
ToolDescription
get_meGet your authenticated user profile
update_meUpdate your user profile
ToolDescription
get_event_typesList all event types
get_event_typeGet a specific event type by ID
create_event_typeCreate a new event type
update_event_typeUpdate an event type
delete_event_typeDelete an event type
ToolDescription
get_bookingsList bookings with optional filters
get_bookingGet a specific booking by UID
create_bookingCreate a new booking
reschedule_bookingReschedule a booking
cancel_bookingCancel a booking
confirm_bookingConfirm a pending booking
mark_booking_absentMark a booking absence
get_booking_attendeesGet all attendees for a booking
add_booking_attendeeAdd an attendee to a booking
get_booking_attendeeGet a specific attendee
ToolDescription
get_schedulesList all schedules
get_scheduleGet a specific schedule by ID
create_scheduleCreate a new schedule
update_scheduleUpdate a schedule
delete_scheduleDelete a schedule
get_default_scheduleGet your default schedule
ToolDescription
get_availabilityGet available time slots
get_busy_timesGet busy times from calendars
ToolDescription
get_conferencing_appsList conferencing applications
ToolDescription
calculate_routing_form_slotsCalculate slots based on routing form response
ToolDescription
get_org_membershipsGet all organization memberships
create_org_membershipCreate an organization membership
get_org_membershipGet an organization membership
delete_org_membershipDelete an organization membership
get_org_routing_formsGet organization routing forms
get_org_routing_form_responsesGet routing form responses