@mnicole-dev/calcom-mcp-server
# @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
Scored across 24 tools
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.
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.
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.
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.