Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Cal.com in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Read a Cal.com scheduling account from Claude, ChatGPT or Copilot: event types, bookings with attendees, Cal Video recordings and transcripts, free time slots, availability schedules and connected calendars. Booking, rescheduling and cancelling are included but installed switched off.
Try asking
Example prompts for Cal.com
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Cal.com, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Cal.com
Read a Cal.com scheduling account from Claude, ChatGPT or Copilot: event types, bookings with attendees, Cal Video recordings and transcripts, free time slots, availability schedules and connected calendars. Booking, rescheduling and cancelling are included but installed switched off.
Setup
Setting up takes about 2 minutes. You need a Cal.com account (any plan) to create a personal API key. The key acts as the user who created it.
- Sign in to Cal.com and open Settings → Developer → API Keys (at app.cal.com, or at app.cal.eu if your account is in Cal.com's EU region).
- Click New, give the key a name (for example AnythingMCP) and an expiry, and copy it. It starts with
cal_live_(orcal_test_in test mode) and is shown only once. - Paste the key alone, without the word Bearer, into
CALCOM_API_KEY. - Set
CALCOM_API_HOSTtohttps://api.cal.comif you sign in at app.cal.com, or tohttps://api.cal.euif you sign in at app.cal.eu. Enter it without/v2, a path or a trailing slash: the connector adds/v2itself. A key only works in its own region. - Install the connector and run
calcom_get_me: it shows the user the key belongs to, with time zone and default schedule, and confirms that key and host belong together.
Whose data it sees: the key owner's event types, bookings and schedules, plus team bookings where that user is a host or admin. Everyone using the connector works with that one account, so use the key of the person (or team admin) whose meetings the AI should see.
What it reads: your event types (the bookable meeting templates) with length, locations, booking fields, buffers, minimum notice and booking link; bookings with status, times, meeting link, hosts, attendees with email and time zone, guests and the answers to booking questions; the Cal Video recordings and transcripts of a booking; the free slots of an event type; your availability schedules with weekly hours and date overrides; and the connected calendars (Google, Outlook, Apple, CalDAV), including the ones checked for conflicts and the one new bookings are written to.
Booking uid, not id: booking tools take the booking's uid, a string the AI gets from calcom_list_bookings, not the numeric id. The uid of a recurring booking returns every occurrence. Bookings can be filtered by status (upcoming, past, cancelled, unconfirmed), attendee, event type, team or dates, and come in pages.
Time zones: free slots come back in the time zone you think in, which the AI passes to calcom_get_available_slots, while booking start times go to Cal.com in UTC. The slots already take your calendars, buffers, minimum notice and limits into account.
Recordings and transcripts: only Cal Video meetings have them, and only the organizer, a team admin or an organization admin can read them. Meetings held on Zoom, Google Meet or Teams have none here. A transcript exists when someone clicked Transcribe during the call, and its download link works for one hour, so the AI fetches a fresh one when needed.
Switched off at install: calcom_create_booking, calcom_reschedule_booking and calcom_cancel_booking. They email real attendees and change real calendars: a new booking sends confirmations and invitations (paid event types may ask the attendee to pay), rescheduling cancels the old booking and creates a new one with a new uid, and a cancellation cannot be undone (on a recurring booking it cancels every occurrence). An administrator can turn them on one by one.
Asks before every change: once a write tool is on, the AI first checks the time with calcom_get_available_slots, then shows you the event type, the time in your time zone, the attendee and guests or the reason, and waits for your yes.
Limits: Cal.com allows about 120 requests a minute per API key. After a 429 the AI waits a minute before trying again.
Common errors: 401 Invalid API Key means the key is wrong, expired or deleted, or belongs to the other region. 403 means the key works but this user cannot see that booking, event type or team: use the key of the organizer or a team admin. 404 usually means a numeric id was used where a booking uid is needed. 400 names the field Cal.com did not accept, often a start time that is not a free slot.
The connector does not change event types, availability schedules or connected calendars, and it does not take or refund payments.
Prerequisites: CALCOM_API_HOST, CALCOM_API_KEY
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick Cal.com and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
calcom_get_me | Read the Cal.com user the API key belongs to: id, username, email, name, time zone, week start, time format and default schedule id |
calcom_list_event_types | List event types (the bookable meeting templates): id, title, slug, lengthInMinutes, description, locations, booking fields, buffers… |
calcom_get_event_type | Get one event type by its numeric id with all settings: length and allowed durations, locations, booking fields, buffers, booking window… |
calcom_list_bookings | List bookings the key owner can see (as organizer, host or team admin), with uid, title, status, start and end, duration, event type… |
calcom_get_booking | Get one booking by uid: status, start and end, event type, location or meeting URL, hosts, attendees, guests, booking field answers… |
calcom_get_booking_recordings | List the Cal Video recordings of a booking with their download links |
calcom_get_booking_transcripts | Get download links for the Cal Video transcripts of a booking (made when someone clicked Transcribe during the call) |
calcom_get_available_slots | Get the free time slots of an event type between two dates, after calendars, buffers, minimum notice and limits are applied |
calcom_list_schedules | List the key owner's availability schedules: id, name, time zone, whether it is the default, weekly availability (days with start and end… |
calcom_get_default_schedule | Get the key owner's default availability schedule: time zone, weekly working hours and date overrides |
calcom_get_schedule | Get one availability schedule by id: name, time zone, weekly availability and date overrides |
calcom_list_calendars | List the calendars connected to the key owner's Cal.com account (Google, Outlook, Apple, CalDAV) with the ones checked for conflicts and… |
calcom_create_booking | Book a meeting on an event type for an attendee |
calcom_reschedule_booking | Move a booking to a new start time |
calcom_cancel_booking | Cancel a booking |
Example prompts
- "What meetings do I have tomorrow, and who are the attendees of each one?"
- "Find three free slots next week for my Intro call event type, in Berlin time, so I can offer them to a client."
- "Get the transcript of yesterday's call with Acme and list the action items we agreed on."
- "Which bookings were cancelled or rescheduled this month, and what reasons did people give?"
- "What are my working hours in my default schedule, and which calendars does Cal.com check for conflicts?"
Next steps
Was this guide helpful?