MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

M
MCP Server Calcom

MCP server for Cal.com — AI agents can schedule, cancel, reschedule & check availability

Created 5/14/2026
Updated about 4 hours ago
Repository documentation and setup instructions

📅 mcp-server-calcom

MIT License npm version

Let any AI agent manage your Cal.com scheduling — check availability, create bookings, reschedule, and cancel meetings without switching tabs.

mcp-server-calcom demo recording

Use case

You tell Claude "book 30 minutes with Alex next Tuesday at 2pm" and Claude calls the Cal.com API to check slots and create the booking. No copy-pasting, no manual form filling.


For claude.ai users (cloud)

  1. Deploy to Railway (free tier works):

    Deploy on Railway

    Set CAL_API_KEY as a Railway environment variable.

  2. Get your deployment URL — Railway gives you something like https://mcp-server-calcom.up.railway.app.

  3. Add the connector in claude.ai Settings → Connectors → MCP endpoint. Paste your URL, appending /mcp — e.g. https://mcp-server-calcom.up.railway.app/mcp.

That's it. Claude now talks to your Cal.com account.


For Claude Desktop users (local)

Run with npx:

{
  "mcpServers": {
    "calcom": {
      "command": "npx",
      "args": ["mcp-server-calcom"],
      "env": {
        "CAL_API_KEY": "cal_live_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Add that block to your Claude Desktop config file (claude_desktop_config.json), restart Claude, and the tools appear automatically.


Tools

1. calcom_get_availability

Check when someone is free.

"What times are free next Thursday for a 30-min meeting with event type 42?"

2. calcom_create_booking

Book a meeting.

"Book a 30-min call with Alex on Tuesday at 2pm ET. Alex's email is alex@example.com."

3. calcom_list_bookings

See what's scheduled.

"Show me all my upcoming bookings this week."

4. calcom_cancel_booking

Cancel a meeting.

"Cancel the booking with uid abc123, I need to reschedule."

5. calcom_get_event_types

See what event types are available.

"What meeting types do I have set up?"


Getting a Cal.com API key

  1. Go to app.cal.com/settings/developer/api-keys
  2. Click Create and give it a name
  3. Copy the key (starts with cal_)
  4. Set it as the CAL_API_KEY environment variable

Self-host

git clone https://github.com/azmaldev/mcp-server-calcom
cd mcp-server-calcom
npm install
npm run build
CAL_API_KEY=cal_live_xxxxxxxxxxxxxxxxxxxx npm start

Or with Docker:

docker build -t mcp-server-calcom .
docker run -e CAL_API_KEY=cal_live_xxxxxxxxxxxxxxxxxxxx -p 3000:3000 mcp-server-calcom

The server listens on http://localhost:3000/mcp (POST only, no sessions, stateless).


Contributing

PRs welcome! A few guidelines:

  • Keep it simple — no Express, no SSE, no sessions
  • All Cal.com API calls go through src/calcom-client.ts
  • All MCP tool definitions go through src/server.ts
  • Run npm run build before opening a PR
  • Match the existing code style (strict TypeScript, no semicolons in this project)

Open an issue first if you're adding a new tool or changing the architecture.

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-mcp-server-calcom

Cursor configuration (mcp.json)

{ "mcpServers": { "azmaldev-mcp-server-calcom": { "command": "npx", "args": [ "azmaldev-mcp-server-calcom" ] } } }