Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Booking Chest

БесплатноНе проверен

MCP server for Cal.com scheduling, providing ~70 tools to manage schedules, event types, bookings, calendars, webhooks, and teams. Enables natural language cont

GitHubEmbed

Описание

MCP server for Cal.com scheduling, providing ~70 tools to manage schedules, event types, bookings, calendars, webhooks, and teams. Enables natural language control of Cal.com from Claude or any MCP-compatible client.

README

A Model Context Protocol server for Cal.com open-source scheduling. Exposes ~70 MCP tools across 10 resource modules — create schedules, manage event types, book meetings, integrate calendars, configure webhooks, and manage teams — all controllable directly from Claude or any MCP-compatible client.

Features

  • ~70 tools covering the Cal.com API v2
  • Clean two-layer architecture: pure calcom_client/ package + thin MCP wrapper
  • Static Bearer token auth (no refresh needed)
  • Typed exception hierarchy (APIError, NotFoundError, ValidationError, AuthenticationError)
  • API quirks baked in (correct parameter names, required fields, response envelope unwrapping)

Resource Modules (10)

Module Tools Description
me 2 Profile get/update
timezones 1 List all 7,072 city/timezone entries
api_keys 1 Rotate API key (warning: invalidates immediately)
schedules 5 Availability schedule CRUD
event_types 9 Event type CRUD + per-type webhooks + private links (Enterprise)
slots 3 Available slots, reserve, delete reservation
bookings 6 List, get, create, cancel, reschedule, mark no-show
calendars 9 Connect, busy times, destination, selected, ICS feeds
webhooks 5 User-level webhook CRUD (21 trigger types)
teams 19 Team CRUD + memberships + event types + event-type webhooks + invite

Installation

git clone https://github.com/dsddet/booking_chest
cd booking_chest
pip install -e ".[mcp]"

Or with uv (recommended):

uv pip install -e ".[mcp]"

Environment Variables

Variable Required Description
CALCOM_API_KEY Yes Cal.com API key (starts with cal_)
CALCOM_BASE_URL No Cal.com instance URL (default: https://api.cal.com)

Create a .env file:

CALCOM_API_KEY=cal_your_api_key_here
CALCOM_BASE_URL=https://api.cal.com

For self-hosted Cal.com instances, set CALCOM_BASE_URL to your instance URL (e.g., http://192.168.0.214).

Getting an API Key

  1. Log into Cal.com Settings → Developer → API Keys
  2. Click "Generate API Key"
  3. Copy the key (starts with cal_) — it cannot be retrieved later

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "booking_chest": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/booking_chest",
        "run", "--extra", "mcp", "mcp_server.py"
      ],
      "env": {
        "CALCOM_API_KEY": "cal_your_api_key_here",
        "CALCOM_BASE_URL": "https://api.cal.com"
      }
    }
  }
}

Replace /path/to/booking_chest with the absolute path to your cloned directory.

Usage Examples

Once connected, you can ask Claude:

  • "Create a 30-minute consultation event type"
  • "What slots are available this week for event type 1?"
  • "Book a meeting with [email protected] on March 5th at 2pm Eastern"
  • "List all my upcoming bookings"
  • "Cancel booking 42 — attendee has a conflict"
  • "Connect my Google Calendar and set it as the destination"
  • "Create a webhook to notify Zapier when bookings are created or cancelled"
  • "List all team members and their roles"

Architecture

calcom_client/          # Pure API client (no MCP dependency)
├── http.py             # httpx + Bearer token auth + response envelope unwrap
├── exceptions.py       # APIError, NotFoundError, ValidationError, AuthenticationError
├── me.py               # Profile get/update
├── timezones.py        # List all timezones
├── api_keys.py         # API key rotation
├── schedules.py        # Availability schedule CRUD
├── event_types.py      # Event type CRUD + webhooks + private links
├── slots.py            # Available slots, reserve, delete
├── bookings.py         # Booking CRUD (cancel, reschedule, no-show)
├── calendars.py        # Calendar integrations (Google, Office 365, Apple)
├── webhooks.py         # User-level webhook CRUD
├── teams.py            # Team CRUD + memberships + event types + invite
└── __init__.py         # CalcomClient facade composing all modules
mcp_server.py           # ~70 @mcp.tool() functions

Cal.com API Quirks (baked into client code)

  • API version: Use cal-api-version: 2024-06-14 (broadest support — 2024-08-13 misses some endpoints)
  • Response envelope: All responses wrapped in {"status": "success", "data": ...} — unwrapped automatically
  • Slots params: Use start/end (NOT startTime/endTime — those cause 400 errors)
  • Webhook triggers: Use triggers field (NOT eventTriggers — old doc error)
  • Calendar connect: Use google, office365, apple (NOT google-calendar, office365calendar)
  • calendarsToLoad is REQUIRED for busy-times endpoint (400 error without it)
  • isDefault is REQUIRED when creating schedules (400 error without it)
  • slotId is REQUIRED when reserving slots
  • API key refresh: Old key invalidated immediately — update env before next request
  • Team creation needs Stripe — use existing teams or configure Stripe billing
  • metadata PATCH: Returns null in response but IS saved (verify via team memberships)
  • No team-level webhooks — webhooks are always scoped to specific event types

License

MIT

from github.com/dsddet/booking_chest

Установить Booking Chest в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install booking-chest

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add booking-chest -- uvx --from git+https://github.com/dsddet/booking_chest booking_chest

FAQ

Booking Chest MCP бесплатный?

Да, Booking Chest MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Booking Chest?

Нет, Booking Chest работает без API-ключей и переменных окружения.

Booking Chest — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Booking Chest в Claude Desktop, Claude Code или Cursor?

Открой Booking Chest на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Booking Chest with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории communication