# Cal.com

> Official Cal.com hosted MCP — AI agents book, reschedule, and query availability across 34 tools via OAuth 2.1, no local install.

[Canonical HTML page](https://top-mcps.com/mcp/calcom-mcp) · [server.json](https://top-mcps.com/mcp/calcom-mcp.json) · [methodology](https://top-mcps.com/about/methodology)

## Install

### Claude Desktop — `claude_desktop_config.json`

Paste under mcpServers. Fully quit and reopen Claude after editing.

```json
{
  "mcpServers": {
    "calcom-mcp": {
      "command": "Connect",
      "args": [
        "to",
        "https://mcp.cal.com/mcp",
        "(hosted;",
        "OAuth",
        "2.1,",
        "no",
        "local",
        "install)"
      ]
    }
  }
}
```

### Claude Code — `CLI or .mcp.json`

Run from your repo. Commit .mcp.json to share with your team.

```shell
claude mcp add calcom-mcp -- Connect to https://mcp.cal.com/mcp (hosted; OAuth 2.1, no local install)
```

### Cursor — `.cursor/mcp.json`

Global path: ~/.cursor/mcp.json. Reload window after editing.

```json
{
  "mcpServers": {
    "calcom-mcp": {
      "command": "Connect",
      "args": [
        "to",
        "https://mcp.cal.com/mcp",
        "(hosted;",
        "OAuth",
        "2.1,",
        "no",
        "local",
        "install)"
      ]
    }
  }
}
```

### VS Code — `.vscode/mcp.json`

VS Code uses the "servers" key (not "mcpServers").

```jsonc
{
  "servers": {
    "calcom-mcp": {
      "command": "Connect",
      "args": [
        "to",
        "https://mcp.cal.com/mcp",
        "(hosted;",
        "OAuth",
        "2.1,",
        "no",
        "local",
        "install)"
      ]
    }
  }
}
```

### Windsurf — `~/.codeium/windsurf/mcp_config.json`

Open via Cascade → hammer icon → Configure.

```json
{
  "mcpServers": {
    "calcom-mcp": {
      "command": "Connect",
      "args": [
        "to",
        "https://mcp.cal.com/mcp",
        "(hosted;",
        "OAuth",
        "2.1,",
        "no",
        "local",
        "install)"
      ]
    }
  }
}
```

### Cline — `cline_mcp_settings.json`

Open via the Cline sidebar → MCP Servers → Edit.

```json
{
  "mcpServers": {
    "calcom-mcp": {
      "command": "Connect",
      "args": [
        "to",
        "https://mcp.cal.com/mcp",
        "(hosted;",
        "OAuth",
        "2.1,",
        "no",
        "local",
        "install)"
      ]
    }
  }
}
```

### Continue — `~/.continue/config.json`

Continue uses modelContextProtocolServers with a transport block.

```json
{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "Connect",
          "args": [
            "to",
            "https://mcp.cal.com/mcp",
            "(hosted;",
            "OAuth",
            "2.1,",
            "no",
            "local",
            "install)"
          ]
        }
      }
    ]
  }
}
```

### Codex CLI — `~/.codex/config.toml`

Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.

```shell
# ~/.codex/config.toml
[mcp_servers.calcom-mcp]
command = "Connect"
args = [
  "to",
  "https://mcp.cal.com/mcp",
  "(hosted;",
  "OAuth",
  "2.1,",
  "no",
  "local",
  "install)",
]
```

### Zed — `~/.config/zed/settings.json`

Zed calls them "context_servers". Settings live-reload on save.

```jsonc
{
  "context_servers": {
    "calcom-mcp": {
      "command": {
        "path": "Connect",
        "args": [
          "to",
          "https://mcp.cal.com/mcp",
          "(hosted;",
          "OAuth",
          "2.1,",
          "no",
          "local",
          "install)"
        ]
      }
    }
  }
}
```

### ChatGPT — `ChatGPT → Settings → Connectors (remote URL)`

Paste this into Settings → Connectors → Add custom connector. Requires ChatGPT Pro / Team / Enterprise / Edu with Developer mode enabled. ChatGPT supports remote HTTPS MCP servers only — stdio servers must be hosted on a public HTTPS endpoint first.

```json
{
  "name": "Cal.com",
  "transport": "http",
  "url": "https://mcp.cal.com/mcp"
}
```

## At a glance

- **Maintainer:** Cal.com (official)
- **Transport:** Streamable HTTP
- **Auth model:** OAuth 2.1
- **Required secrets:** None
- **Supported clients:** Claude, Cursor, Any MCP-compatible client that supports OAuth 2.1
- **License:** AGPL-3.0
- **Language:** TypeScript
- **Latest version:** latest
- **Last verified:** 2026-06-28
- **GitHub stars:** 27 (fetched 2026-07-17T12:42:33.502Z)
- **Score:** 52/100 (rubric 2026-04 — see https://top-mcps.com/about/methodology)
- **Source:** https://github.com/calcom/cal-mcp
- **Homepage:** https://cal.com

## Security & scope

- **Access scope:** network
- **Sandbox:** OAuth 2.1 scoped to the authenticated Cal.com account. The hosted MCP is Cal.com-operated — no user credentials touch your machine. The agent can only manage calendars, bookings, and availability that belong to the authorized account.
- **Gotchas:**
  - Booking creation is irreversible without an explicit cancellation tool call — the agent should confirm booking details with the user before calling create_booking.
  - Availability queries respect the configured Cal.com schedule and buffer times; the agent cannot book outside the configured availability windows.
  - Self-hosted instances require configuring the NEXTAUTH_URL and MCP_URL environment variables to expose the MCP endpoint.

## Quick answer

**What it does.** Exposes 34 tools for the full Cal.com scheduling lifecycle: list and create event types, query real-time availability, book and reschedule appointments, cancel bookings, and manage schedules — all over OAuth 2.1 with no local setup.

**Best for:**
- Agentic booking assistants
- Product-embedded scheduling workflows
- Demo and onboarding scheduling
- Self-hosted scheduling setups
- Multi-host round-robin booking

**Not for:**
- Raw calendar event management outside booking flows
- Bulk calendar analytics
- Environments that cannot perform OAuth 2.1 redirect

## Recipes

### Book a 30-minute call in the next 3 days

```
Check my Cal.com availability for 30-minute slots in the next 3 business days and book the first one that works for me at 10am or 2pm.
```

_Tested with: Claude Desktop, Cursor_

## Description

Cal.com ships an official hosted MCP server at https://mcp.cal.com that gives any MCP-compatible agent full control over scheduling workflows. The server exposes 34 tools covering event types (list, create, update), bookings (create, cancel, reschedule), availability queries, schedule management, and attendee handling. Authentication is OAuth 2.1 over Streamable HTTP — the client redirects once for authorization and the server handles token refresh automatically. Cal.com is free to start (Free plan covers personal scheduling), and the MCP is available to all users.

## Why it matters

Cal.com is the most widely used open-source scheduling tool, with a hosted and self-hosted path used across tens of thousands of developer and startup teams. Unlike Calendly (link-based flow only) or Google Calendar (full calendar, no booking UI), Cal.com's MCP covers the full booking workflow end-to-end — from checking a slot to confirming and rescheduling — making it the right choice for agentic booking assistants.

## Key features

- Official Cal.com hosted MCP at mcp.cal.com
- OAuth 2.1 + Streamable HTTP transport (no local setup)
- 34 tools: event types, bookings, availability, schedules
- Free and paid Cal.com plans supported
- Open-source self-host option available

## FAQ

### What is the difference between Cal.com MCP and Calendly MCP?

Both are hosted remote MCPs with OAuth 2.1. Cal.com covers the full booking lifecycle with 34 tools (create bookings, manage schedules, query availability, reschedule, cancel). Calendly focuses on link-based scheduling and exposes a narrower tool set. Cal.com is also open-source (AGPL-3.0) and can be self-hosted; Calendly is SaaS-only.

### Do I need a paid Cal.com plan?

No — the Free plan works with the MCP. Paid plans unlock team scheduling, round-robin, and advanced routing, but the MCP itself is available on all plans.

### Can I self-host Cal.com and still use the MCP?

Yes. Cal.com is open source (AGPL-3.0) and the MCP server can be run alongside a self-hosted instance. Point the MCP client at your instance's MCP endpoint instead of mcp.cal.com.

### How does the OAuth flow work in Claude Desktop?

Claude Desktop opens the Cal.com OAuth consent screen when you first connect. After you authorize, the client stores the token and subsequent tool calls authenticate automatically. You only see the consent screen once per session unless the token expires.

## Changelog

- **2026-06-28** — Refreshed install snippets and fact sheet; verified for 2026.
- **2026-04-23** — Initial directory listing.
