Cal.com FastMCP服务器
⚠️ 免责声明:此项目不隶属于Cal.com或得到Cal.com的认可。我是一名独立开发人员,与Cal.com没有任何官方联系。
该项目提供了一个FastMCP服务器,用于与Cal.com API交互。它允许语言学习模型(LLM)使用工具连接Cal.com的重要功能,如管理活动类型和预订。
先决条件
- Python 3.8+
- Cal.com帐户和API密钥(v2)
设置
- 克隆存储库(如果适用)或下载文件。
git clone https://github.com/Danielpeter-99/calcom-mcp.git
cd calcom-mcp- 创建虚拟环境(推荐):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 设置Cal.com API密钥:
您需要设置 CALCOM_API_KEY 环境变量。您可以从Cal.com设置页面(通常在开发人员或安全设置下)获取API密钥。
- Linux/macOS:
export CALCOM_API_KEY="your_actual_api_key_here"要使其永久化,请将此行添加到您的shell配置文件中(例如。, .bashrc, .zshrc).
- Windows(PowerShell):
$env:CALCOM_API_KEY="your_actual_api_key_here"要使其永久化,您可以通过“系统属性”>“环境变量”进行设置。
运行服务器
设置完成后,您可以运行FastMCP服务器:
fastmcp run app.py --transport sse --port 8010服务器将在localhost:8010启动,您应该看到指示它正在运行的输出。如果 CALCOM_API_KEY 如果未设置,将显示警告。
可用工具
服务器目前提供以下LLM交互工具:
get_api_status():检查是否在环境中配置了Cal.com API密钥。返回一个表示状态的字符串。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(...):列出经过身份验证的用户可用的所有团队。可选过滤器:限制。返回一个包含团队列表或错误消息的字典。list_users(...):列出经过身份验证的帐户可用的所有用户。可选过滤器:限制。返回一个包含用户列表或错误消息的词典。list_webhooks(...):列出为经过身份验证的帐户配置的所有Webhook。可选过滤器:限制。返回一个包含webhooks列表或错误消息的字典。
注: 所有工具都需要 CALCOM_API_KEY 要设置的环境变量。如果未设置,工具将返回结构化错误消息。
工具使用和错误处理
- 所有工具都会返回API响应(作为字典或字符串)或包含故障详细信息的结构化错误消息。
- 错误消息包括错误类型、HTTP状态代码(如果适用)和来自Cal.com API的响应文本。
- 为了获得最佳效果,请始终检查是否存在
error在使用返回的数据之前键入响应。 - 工具的设计是稳健的,并为成功和失败的API调用提供信息反馈。
开发说明
- Cal.com API基础URL设置为
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密钥的安全。
