Skip to main content
Glama
mnicole-dev

@mnicole-dev/calcom-mcp-server

by mnicole-dev
README.md
# @mnicole-dev/calcom-mcp-server

MCP server for the [Cal.com API v2](https://cal.com/docs/api-reference/v2/introduction). Provides 24 tools covering bookings, event types, availability slots, schedules, calendars, profile, and out-of-office management.

## Tools

### Bookings (7)
| Tool | Description |
|------|-------------|
| `list-bookings` | List bookings with filters (status, date range, attendee, event type) |
| `get-booking` | Get a booking by UID |
| `create-booking` | Create a new booking |
| `cancel-booking` | Cancel a booking |
| `reschedule-booking` | Reschedule a booking to a new time |
| `confirm-booking` | Confirm a pending booking |
| `decline-booking` | Decline a pending booking |

### Event Types (5)
| Tool | Description |
|------|-------------|
| `list-event-types` | List all event types |
| `get-event-type` | Get an event type by ID |
| `create-event-type` | Create a new event type |
| `update-event-type` | Update an existing event type |
| `delete-event-type` | Delete an event type |

### Slots (1)
| Tool | Description |
|------|-------------|
| `get-available-slots` | Get available booking slots within a date range |

### Schedules (5)
| Tool | Description |
|------|-------------|
| `list-schedules` | List all availability schedules |
| `get-schedule` | Get a schedule by ID |
| `create-schedule` | Create a new availability schedule |
| `update-schedule` | Update a schedule |
| `delete-schedule` | Delete a schedule |

### Profile (1)
| Tool | Description |
|------|-------------|
| `get-me` | Get the authenticated user profile |

### Calendars (2)
| Tool | Description |
|------|-------------|
| `list-calendars` | List connected calendars |
| `get-busy-times` | Get busy time blocks from calendars |

### Out of Office (3)
| Tool | Description |
|------|-------------|
| `list-out-of-office` | List all out-of-office entries |
| `create-out-of-office` | Create an out-of-office entry |
| `delete-out-of-office` | Delete an out-of-office entry |

## Setup

### Get your API key

1. Log in to [Cal.com](https://app.cal.com)
2. Go to **Settings** → **Developer** → **API keys**
3. Create a new API key

### Configure Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "calcom": {
      "command": "npx",
      "args": ["-y", "@mnicole-dev/calcom-mcp-server"],
      "env": {
        "CAL_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

## Development

```bash
pnpm install
pnpm build
CAL_API_KEY=your_key pnpm dev
```

TDQS

A3.5/5.0

Scored across 24 tools

Disambiguation5/5

Each tool targets a distinct resource and action: schedules, bookings, event types, calendars/availability, out-of-office, and user profile. Even closely related pairs like get-available-slots vs get-busy-times are separated by clear resource context.

Naming Consistency5/5

All tools consistently use lowercase hyphenated verb-noun names (create-schedule, list-bookings, get-event-type). Collections use 'list', single resources use 'get', and actions use domain verbs like cancel/rescheduled/confirm, forming a predictable pattern.

Tool Count3/5

At 24 tools, the set falls into the heavy 16-25 range and could feel large for an agent to navigate. However, the count is justified by the broad Cal.com domain covering five main resource areas; it is borderline rather than excessive.

Completeness4/5

Schedules, event types, and bookings have strong full lifecycle coverage, including create, read, list, update/delete, and booking-specific actions. Minor gaps exist—notably no update tool for out-of-office entries and no direct booking update—but these can be worked around without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues