FastMCP-сервер Cal.com
⚠️ Отказ от ответственности : этот проект не связан и не одобрен Cal.com. Я независимый разработчик и не имею никакой официальной связи с Cal.com.
Этот проект предоставляет сервер FastMCP для взаимодействия с API Cal.com. Он позволяет моделям изучения языка (LLM) использовать инструменты для подключения к важным функциям Cal.com, таким как управление типами событий и бронирование.
Предпосылки
- Питон 3.8+
- Учетная запись Cal.com и ключ API (v2)
Настраивать
- Клонируйте репозиторий (если применимо) или загрузите файлы.
- Создать виртуальную среду (рекомендуется):
- Установить зависимости:
- Настройте ключ API Cal.com: Вам нужно установить переменную среды
CALCOM_API_KEY
. Вы можете получить свой ключ API на странице настроек Cal.com (обычно в разделе «Разработчик» или «Настройки безопасности»).- Linux/macOS:Чтобы сделать его постоянным, добавьте эту строку в файл конфигурации оболочки (например,
.bashrc
,.zshrc
). - Windows (PowerShell):Чтобы сделать его постоянным, вы можете установить его через Свойства системы > Переменные среды.
- Linux/macOS:
Запуск сервера
После завершения настройки вы можете запустить сервер FastMCP:
Сервер запустится на localhost:8010, и вы должны увидеть вывод, указывающий на то, что он запущен. Если CALCOM_API_KEY
не установлен, будет отображено предупреждение.
Доступные инструменты
В настоящее время сервер предоставляет следующие инструменты для взаимодействия с LLM:
get_api_status()
: Проверка, настроен ли ключ API Cal.com в среде. Возвращает строку, указывающую статус.list_event_types()
: Извлечь список всех типов событий из Cal.com для аутентифицированной учетной записи. Возвращает словарь со списком типов событий или сообщение об ошибке.get_bookings(...)
: Получить список бронирований из Cal.com с дополнительными фильтрами (event_type_id, user_id, status, date_from, date_to, limit). Возвращает словарь со списком бронирований или сообщение об ошибке.create_booking(...)
: создать новое бронирование в Cal.com для определенного типа мероприятия и участника. Требуются такие параметры, как start_time, сведения об участнике и идентификаторы типа мероприятия. Возвращает словарь с подробностями бронирования или сообщение об ошибке.list_schedules(...)
: Список всех расписаний, доступных аутентифицированному пользователю или для определенного пользователя/команды. Необязательные фильтры: user_id, team_id, limit. Возвращает словарь со списком расписаний или сообщение об ошибке.list_teams(...)
: Список всех команд, доступных аутентифицированному пользователю. Необязательный фильтр: limit. Возвращает словарь со списком команд или сообщение об ошибке.list_users(...)
: Список всех пользователей, доступных для аутентифицированной учетной записи. Необязательный фильтр: limit. Возвращает словарь со списком пользователей или сообщение об ошибке.list_webhooks(...)
: Список всех веб-хуков, настроенных для аутентифицированной учетной записи. Необязательный фильтр: limit. Возвращает словарь со списком веб-хуков или сообщение об ошибке.
Примечание: Все инструменты требуют установки переменной среды CALCOM_API_KEY
. Если она не установлена, инструменты вернут структурированное сообщение об ошибке.
Использование инструмента и обработка ошибок
- Все инструменты возвращают либо ответ API (в виде словаря или строки), либо структурированное сообщение об ошибке с подробностями об ошибке.
- Сообщения об ошибках включают тип ошибки, код статуса HTTP (если применимо) и текст ответа от API Cal.com.
- Для достижения наилучших результатов всегда проверяйте наличие ключа
error
в ответе, прежде чем использовать возвращенные данные. - Инструменты разработаны так, чтобы быть надежными и предоставлять информативную обратную связь как для успешных, так и для неудачных вызовов API.
Заметки о разработке
- Базовый URL-адрес API Cal.com установлен на
https://api.cal.com/v2
. - Аутентификация в основном выполняется с использованием токена Bearer с
CALCOM_API_KEY
. - Инструмент
create_booking
использует заголовокcal-api-version: 2024-08-13
, как указано в документации Cal.com API v2 для этой конечной точки. - Обработка ошибок включена в вызовы API для предоставления информативных ответов.
🚀 Создано с
Важное примечание по безопасности
Никогда не закодируйте CALCOM_API_KEY
напрямую в исходный код. Всегда используйте переменные среды, как описано в инструкциях по настройке, чтобы сохранить ваш ключ API в безопасности.
Related MCP Servers
- MIT License
- GoMIT License
- TypeScriptMIT License
- JavaScript