Cal.com MCP
официальныйПодключайте AI-клиенты к планировщику Cal.com через протокол Model Context Protocol, используя размещённый сервер на mcp.cal.com или локальный экземпляр.
Что можно делать с Cal Com MCP?
- Управление бронированиями — Попросите ассистента вывести список, создать, перенести или отменить бронирования с помощью таких инструментов, как
get_bookingsиcreate_booking. - Настройка типов событий — Создавайте или обновляйте типы событий, например 30-минутный «Быстрый чат», через
create_event_typeиupdate_event_type. - Проверка доступности — Запрашивайте открытые временные слоты или занятые периоды из подключенных календарей с помощью
get_availabilityиget_busy_times. - Управление расписаниями — Создавайте, обновляйте или получайте ваше расписание по умолчанию через
create_scheduleиget_default_schedule. - Управление командами и участниками — Приглашайте участников или изменяйте роли в команде через
create_team_inviteиupdate_team_membership.
Документация
MCP-сервер
Подключайте AI-клиентов к планированию Cal.com через Model Context Protocol, используя размещённый сервер на mcp.cal.com или локальный экземпляр.
Сервер Cal.com MCP оборачивает Cal.com API v2 в Model Context Protocol, позволяя управлять бронированиями, типами событий, расписаниями и другим через естественный язык в любом MCP-совместимом клиенте.
Размещённый сервер (mcp.cal.com)
Самый быстрый способ начать работу — подключить ваш MCP-клиент напрямую к mcp.cal.com. Размещённый сервер использует Streamable HTTP transport с аутентификацией OAuth 2.1 — ваш клиент обрабатывает процесс авторизации автоматически.
Подключение клиента
Укажите вашему MCP-клиенту URL размещённого сервера:
https://mcp.cal.com/mcp
При первом подключении клиент проведёт вас через процесс авторизации OAuth, где вы предоставите серверу доступ к вашему аккаунту Cal.com. API-ключ не требуется.
Добавьте следующее в ваш `claude_desktop_config.json`:* **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Откройте **Settings → MCP** и добавьте новый сервер с URL `https://mcp.cal.com/mcp`, или добавьте его в ваш `.cursor/mcp.json`:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Добавьте сервер в настройки MCP вашего VS Code:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Добавьте следующее в ваш `~/.fx/mcp.json`:
```json theme={null}
{
"mcp": {
"calcom": {
"type": "http",
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Затем выполните `/mcp auth calcom --open` в fx для авторизации. Смотрите
[документацию fx MCP](https://fx.sh/docs/capabilities/mcp) о транспортах,
параметрах аутентификации и обнаружении инструментов.
Самостоятельно размещённый сервер (stdio)
Если вы предпочитаете запускать сервер локально, вы можете использовать stdio transport с API-ключом. Это полезно для разработки или когда вам нужен полный контроль над сервером.
Предварительные требования
- Node.js >= 18
- API-ключ Cal.com — создайте его в Settings → Developer → API Keys
Подключение клиента
Добавьте следующее в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"calcom": {
"command": "npx",
"args": ["@calcom/cal-mcp@latest"],
"env": {
"CAL_API_KEY": "cal_live_xxxx"
}
}
}
}
Замените cal_live_xxxx на ваш фактический API-ключ.
Предупреждение
Никогда не делитесь и не коммитьте ваш API-ключ. Если он был раскрыт, немедленно перевыпустите его в ваших настройках Cal.com.
Наборы инструментов
Вы можете ограничить, какие инструменты сервер регистрирует для сессии, добавив параметр запроса toolsets к URL сервера:
https://mcp.cal.com/mcp?toolsets=bookings,availability
Допустимые наборы инструментов: profile, event-types, bookings, availability, schedules, calendars, teams, organizations, routing-forms, catalog (мета-инструменты find_api_operation / describe_api_operation / call_api_operation). Неизвестные имена отклоняются с ошибкой 400 invalid_request. Если параметр опущен, регистрируются все инструменты; локальные инструменты get_app_link и search_docs всегда регистрируются независимо от выбора. Для самостоятельно размещённого stdio-сервера вместо этого установите MCP_TOOLSETS.
Доступные инструменты
MCP-сервер предоставляет 63 инструмента, сгруппированных по категориям:
Ссылки на приложение
| Инструмент | Описание |
|---|---|
get_app_link | Создаёт URL, открывающий страницу бронирования, типа события, расписания, команды, формы маршрутизации или настроек в веб-приложении Cal.com |
Документация
| Инструмент | Описание |
|---|---|
search_docs | Поиск по документации продукта Cal.com; возвращает ранжированные страницы с выдержкой из лучшего результата |
Профиль пользователя
| Инструмент | Описание |
|---|---|
get_me | Получить профиль аутентифицированного пользователя |
update_me | Обновить профиль пользователя |
Типы событий
| Инструмент | Описание |
|---|---|
get_event_types | Список всех типов событий |
get_event_type | Получить конкретный тип события по ID |
create_event_type | Создать новый тип события |
update_event_type | Обновить тип события |
delete_event_type | Удалить тип события |
get_event_type_settings | Получить настройки типа события |
get_event_type_history | Получить историю изменений типа события |
get_scheduling_config | Получить конфигурацию планирования типа события |
get_crm_sync_errors | Получить ошибки синхронизации CRM для типа события |
Бронирования
| Инструмент | Описание |
|---|---|
get_bookings | Список бронирований с необязательными фильтрами |
get_booking | Получить конкретное бронирование по UID |
create_booking | Создать новое бронирование |
reschedule_booking | Перенести бронирование |
cancel_booking | Отменить бронирование |
confirm_booking | Подтвердить ожидающее бронирование |
mark_booking_absent | Отметить отсутствие на бронировании |
get_booking_attendees | Получить всех участников бронирования |
add_booking_attendee | Добавить участника к бронированию |
get_booking_attendee | Получить конкретного участника |
get_booking_routing_trace | Получить трассировку маршрутизации для бронирования |
get_org_team_bookings | Получить бронирования для команды организации |
get_org_user_bookings | Получить бронирования для пользователя организации |
Расписания
| Инструмент | Описание |
|---|---|
get_schedules | Список всех расписаний |
get_schedule | Получить конкретное расписание по ID |
create_schedule | Создать новое расписание |
update_schedule | Обновить расписание |
delete_schedule | Удалить расписание |
get_default_schedule | Получить ваше расписание по умолчанию |
Доступность и календари
| Инструмент | Описание |
|---|---|
get_availability | Получить доступные временные слоты |
get_busy_times | Получить занятое время из календарей |
get_connected_calendars | Список подключённых календарей |
get_conferencing_apps | Список приложений для конференций |
Команды и членства
| Инструмент | Описание |
|---|---|
get_my_teams | Получить команды, в которых вы состоите |
get_org_teams | Получить команды организации |
create_team_invite | Пригласить кого-то в команду |
create_team_membership | Создать членство в команде |
get_team_memberships | Получить все членства в команде |
get_team_membership | Получить членство в команде |
update_team_membership | Обновить членство в команде |
delete_team_membership | Удалить членство в команде |
Организации
| Инструмент | Описание |
|---|---|
get_org_memberships | Получить все членства в организациях |
create_org_membership | Создать членство в организации |
get_org_membership | Получить членство в организации |
update_org_membership | Обновить членство в организации |
delete_org_membership | Удалить членство в организации |
get_org_attributes | Получить атрибуты организации |
get_org_attribute | Получить атрибут организации |
get_attribute_options | Получить варианты для атрибута |
get_user_attributes | Получить атрибуты, назначенные пользователю |
assign_attribute_to_user | Назначить атрибут пользователю |
update_user_attribute | Обновить атрибут, назначенный пользователю |
unassign_attribute_from_user | Снять атрибут с пользователя |
get_user_attribute_history | Получить историю назначения атрибутов пользователя |
Формы маршрутизации
| Инструмент | Описание |
|---|---|
calculate_routing_form_slots | Рассчитать слоты на основе ответа формы маршрутизации |
get_org_routing_forms | Получить формы маршрутизации организации |
get_org_routing_form_responses | Получить ответы форм маршрутизации |
Каталог API
| Инструмент | Описание |
|---|---|
find_api_operation | Поиск по полному каталогу операций API v2 |
describe_api_operation | Получить схему входных данных для операции API |
call_api_operation | Выполнить любую операцию API v2 из каталога |
Примеры запросов
После подключения вы можете взаимодействовать с Cal.com, используя естественный язык:
- "Какие у меня бронирования на этой неделе?"
- "Создай тип события на 30 минут под названием 'Быстрый чат'"
- "Отмени мою встречу с Джоном на завтра"
- "Покажи мои доступные слоты на следующий понедельник"
- "Перенеси мою встречу в 14:00 на четверг в 15:00"
- "Какие у меня типы событий?"
Связанные ресурсы
- Руководство по AI-агентам — создавайте AI-агентов, используя Cal.com API напрямую
- Справочник API v2 — полная документация по конечным точкам API
- Репозиторий GitHub — исходный код
Эта документация создана и размещена на Mintlify, платформе документации для разработчиков.