Cal.com for calendar and scheduling
Cal.com is an open, self-hostable scheduling layer, and its official MCP server connects an agent to that layer over OAuth. It is our second pick for calendar and scheduling because it owns the booking side of the job: event types, availability, and the bookings that hang off them, with the option to run the whole thing on your own infrastructure.
Where a calendar system of record stores the raw events, Cal.com manages how meetings get booked against your availability. That makes it the right choice when you want control over the scheduling layer itself rather than only reading and writing calendar entries.
How Cal.com fits
The booking workflow maps cleanly onto the tools. create_event_type, update_event_type, get_event_types, and delete_event_type define and adjust the meeting types you offer; get_bookings, get_booking, create_booking, reschedule_booking, and cancel_booking handle the full lifecycle of an actual meeting, including moving a conflicting one. get_me and update_me cover the authenticated user's profile and scheduling preferences. An agent can read availability, book a slot, and reschedule it without a human in the loop.
What Cal.com does not do is act as a general calendar. It schedules through its own booking model rather than reading arbitrary events across a shared org calendar, which is exactly where Google Calendar (Workspace MCP), our top pick, fits better as the system of record. Todoist is the right tool when a commitment needs to become a dated task rather than a meeting, and Zoom covers the video-meeting side. Choose Cal.com when the bookable-availability layer is the part you want the agent to operate, especially if you self-host it.
Tools you would use
| Tool | What it does |
|---|---|
| get_me | Retrieves the authenticated user's profile. |
| update_me | Updates the authenticated user's profile information. |
| get_event_types | Lists all event types. |
| get_event_type | Retrieves a specific event type by ID. |
| create_event_type | Creates a new event type. |
| update_event_type | Modifies an existing event type. |
| delete_event_type | Removes an event type. |
| get_bookings | Lists bookings with optional filters. |
| get_booking | Retrieves a booking by its UID. |
| create_booking | Creates a new booking. |
FAQ
- Can Cal.com's MCP server manage availability as well as bookings?
- Yes. Alongside the booking tools, it exposes event-type tools (create_event_type, update_event_type, get_event_types) that define what can be booked and when, and get_me/update_me for the user's profile and scheduling settings. It reschedules and cancels through reschedule_booking and cancel_booking.
- Is Cal.com a replacement for a Google Calendar MCP server?
- Not quite. Cal.com manages a bookable scheduling layer over OAuth and can be self-hosted, but it is not a general calendar of record. For reading and writing arbitrary events across a shared org calendar, Google Calendar (Workspace MCP) fits that role better.