servers / cal-mcp

cal-mcp

communitystdiolocalunmaintainedhealthy

the official MCP server for cal.com


01Tools · 9

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
getBooking
`:bookingUid` can be 1. uid of a normal booking 2. uid of one of the recurring booking recurrences 3. uid of recurring booking which will return an array of all recurring booking recurrences (stored as recurringBookingUid on one of the individual recurrences).
unknownunknownunknown
getEventTypeById
Get an event type
readfalseunknown
getBookings
Get all bookings
readfalseunknown
cancelBooking
:bookingUid can be :bookingUid of an usual booking, individual recurrence or recurring booking to cancel all recurrences. For seated bookings to cancel one individual booking provide :bookingUid and :seatUid in the request body. For recurring seated bookings it is not possible to cancel all of them with 1 call like with non-seated recurring bookings by providing recurring bookind uid - you have to cancel each recurrence booking by its bookingUid + seatUid.
destructivetruetrue
updateEventType
Update an event type
writetrueunknown
createBooking
POST /v2/bookings is used to create regular bookings, recurring bookings and instant bookings. The request bodies for all 3 are almost the same except: If eventTypeId in the request body is id of a regular event, then regular booking is created. If it is an id of a recurring event type, then recurring booking is created. Meaning that the request bodies are equal but the outcome depends on what kind of event type it is with the goal of making it as seamless for developers as possible. For team event types it is possible to create instant meeting. To do that just pass `"instant": true` to the request body. The start needs to be in UTC aka if the timezone is GMT+2 in Rome and meeting should start at 11, then UTC time should have hours 09:00 aka without time zone.
writetrueunknown
rescheduleBooking
Reschedule a booking or seated booking
unknownunknownunknown
getEventTypes
Get all event types
readfalseunknown
deleteEventType
Delete an event type
destructivetruetrue

02Install & source
npx -y @calcom/cal-mcp@latest
npx

05Provenance & freshness
sourcesUser submissions [p7]
last_checked2026-07-28 11:45Z
next_check2026-08-27 11:45Z
cadenceevery 720h
verifiedhandshake:failed metadata:passed tools_list:passed handshake:passed metadata:passed metadata:passed
index_statusindex7 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. cal-mcp MCP — as seen on mcpexplorer.com

[![cal-mcp MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/cal-mcp.svg)](https://mcpexplorer.com/servers/cal-mcp)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →