@mnicole-dev/calcom-mcp-server
Provides tools for managing bookings, event types, availability slots, schedules, calendars, user profile, and out-of-office entries via the Cal.com API v2.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@mnicole-dev/calcom-mcp-server list my upcoming bookings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@mnicole-dev/calcom-mcp-server
MCP server for the Cal.com API v2. Provides 24 tools covering bookings, event types, availability slots, schedules, calendars, profile, and out-of-office management.
Tools
Bookings (7)
Tool | Description |
| List bookings with filters (status, date range, attendee, event type) |
| Get a booking by UID |
| Create a new booking |
| Cancel a booking |
| Reschedule a booking to a new time |
| Confirm a pending booking |
| Decline a pending booking |
Event Types (5)
Tool | Description |
| List all event types |
| Get an event type by ID |
| Create a new event type |
| Update an existing event type |
| Delete an event type |
Slots (1)
Tool | Description |
| Get available booking slots within a date range |
Schedules (5)
Tool | Description |
| List all availability schedules |
| Get a schedule by ID |
| Create a new availability schedule |
| Update a schedule |
| Delete a schedule |
Profile (1)
Tool | Description |
| Get the authenticated user profile |
Calendars (2)
Tool | Description |
| List connected calendars |
| Get busy time blocks from calendars |
Out of Office (3)
Tool | Description |
| List all out-of-office entries |
| Create an out-of-office entry |
| Delete an out-of-office entry |
Related MCP server: Calcom mcp | Cal dot com mcp
Setup
Get your API key
Log in to Cal.com
Go to Settings → Developer → API keys
Create a new API key
Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"calcom": {
"command": "npx",
"args": ["-y", "@mnicole-dev/calcom-mcp-server"],
"env": {
"CAL_API_KEY": "your_api_key_here"
}
}
}
}Development
pnpm install
pnpm build
CAL_API_KEY=your_key pnpm devAvailable Tools
24 toolscancel-bookingB
Cancel a booking by its UID.
Inputs: bookingUid (required), cancellationReason.
confirm-bookingB
Confirm a pending booking.
Inputs: bookingUid (required).
create-bookingC
Create a new booking.
Inputs: start (required), eventTypeId (required), attendeeName (required), attendeeEmail (required), +5 more.
create-event-typeB
Create a new event type.
Inputs: slug (required), title (required), lengthInMinutes (required), locations, +2 more.
create-out-of-officeB
Create an out-of-office entry.
Inputs: end (required), start (required), notes, toUserId.
create-scheduleC
Create a new availability schedule.
Inputs: name (required), timeZone (required), isDefault, availability.
decline-bookingB
Decline a pending booking.
Inputs: bookingUid (required).
delete-event-typeA
Delete an event type by ID.
Inputs: eventTypeId (required).
delete-out-of-officeA
Delete an out-of-office entry by ID.
Inputs: outOfOfficeId (required).
delete-scheduleB
Delete an availability schedule by ID.
Inputs: scheduleId (required).
get-available-slotsB
Get available booking slots for an event type within a date range.
Inputs: endTime (required), startTime (required), duration, eventTypeId, +1 more.
get-bookingA
Get a specific booking by its UID.
Inputs: bookingUid (required).
get-busy-timesC
Get busy time blocks from connected calendars.
Inputs: dateTo (required), dateFrom (required), calendarsToLoad.
get-event-typeB
Get a specific event type by ID.
Inputs: eventTypeId (required).
get-meA
Get the authenticated user profile.
Inputs: no named parameters.
get-scheduleA
Get a specific availability schedule by ID.
Inputs: scheduleId (required).
list-bookingsC
List all bookings with optional filters.
Inputs: limit, cursor, status, beforeEnd, +3 more.
list-calendarsA
List all connected calendars for the authenticated user.
Inputs: no named parameters.
list-event-typesA
List all event types for the authenticated user.
Inputs: no named parameters.
list-out-of-officeA
List all out-of-office entries for the authenticated user.
Inputs: no named parameters.
list-schedulesA
List all availability schedules for the authenticated user.
Inputs: no named parameters.
reschedule-bookingB
Reschedule a booking to a new start time.
Inputs: start (required), bookingUid (required), reschedulingReason.
update-event-typeC
Update an existing event type.
Inputs: eventTypeId (required), slug, title, hidden, +4 more.
update-scheduleB
Update an existing availability schedule.
Inputs: scheduleId (required), name, timeZone, isDefault, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 24 tools
Each tool targets a distinct resource and action: schedules, bookings, event types, calendars/availability, out-of-office, and user profile. Even closely related pairs like get-available-slots vs get-busy-times are separated by clear resource context.
All tools consistently use lowercase hyphenated verb-noun names (create-schedule, list-bookings, get-event-type). Collections use 'list', single resources use 'get', and actions use domain verbs like cancel/rescheduled/confirm, forming a predictable pattern.
At 24 tools, the set falls into the heavy 16-25 range and could feel large for an agent to navigate. However, the count is justified by the broad Cal.com domain covering five main resource areas; it is borderline rather than excessive.
Schedules, event types, and bookings have strong full lifecycle coverage, including create, read, list, update/delete, and booking-specific actions. Minor gaps exist—notably no update tool for out-of-office entries and no direct booking update—but these can be worked around without dead ends.
Maintenance
Related MCP Connectors
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Calendly MCP Pack — wraps the Calendly API v2 for scheduling data.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables scheduling, updating, deleting, and listing calendar appointments through Cal.com's Calendar API.43MIT
- PythonMIT
- AlicenseAqualityCmaintenanceAgent-native MCP server for Carly, the AI scheduling assistant. Exposes 11 tools to read and manage booking pages, event types, calendars, bookings, and available slots. Allows you to manage and create booking pages from the command line.134 npm1MIT
- FlicenseBqualityDmaintenanceMCP server for Cal.com scheduling, providing ~70 tools to manage schedules, event types, bookings, calendars, webhooks, and teams. Enables natural language control of Cal.com from Claude or any MCP-compatible client.68-