MIT License
Cal.com FastMCP 服务器
⚠️免责声明:本项目与 Cal.com 没有任何关联,也未获得其任何认可。我是一名独立开发者,与 Cal.com 没有任何官方关联。
该项目提供了一个 FastMCP 服务器,用于与 Cal.com API 交互。它允许语言学习模型 (LLM) 使用工具连接 Cal.com 的重要功能,例如管理活动类型和预订。
先决条件
- Python 3.8+
- Cal.com 帐户和 API 密钥 (v2)
设置
- 克隆存储库(如果适用)或下载文件。
- 创建虚拟环境(推荐):
- 安装依赖项:
- **设置 Cal.com API 密钥:**您需要设置
CALCOM_API_KEY
环境变量。您可以从 Cal.com 设置页面(通常在“开发者”或“安全”设置下)获取 API 密钥。- Linux/macOS:为了使其永久生效,请将此行添加到您的 shell 配置文件(例如
.bashrc
、.zshrc
)中。 - Windows(PowerShell):为了使其永久生效,您可以通过系统属性>环境变量进行设置。
- Linux/macOS:
运行服务器
设置完成后,即可运行 FastMCP 服务器:
服务器将在 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(...)
:列出已认证用户可用的所有队伍。可选过滤器:limit。返回包含队伍列表的字典或错误消息。list_users(...)
:列出已验证帐户的所有可用用户。可选过滤器:limit。返回包含用户列表或错误消息的字典。list_webhooks(...)
:列出已验证帐户配置的所有 webhook。可选过滤器:limit。返回包含 webhook 列表或错误消息的字典。
**注意:**所有工具都需要设置CALCOM_API_KEY
环境变量。如果未设置,工具将返回结构化的错误消息。
工具使用和错误处理
- 所有工具都会返回 API 响应(以字典或字符串的形式)或包含有关失败详细信息的结构化错误消息。
- 错误消息包括错误类型、HTTP 状态代码(如果适用)以及来自 Cal.com API 的响应文本。
- 为了获得最佳结果,在使用返回的数据之前,请务必检查响应中是否存在
error
键。 - 工具设计得非常强大,可以为成功和失败的 API 调用提供信息反馈。
开发说明
- Cal.com API 基本 URL 设置为
https://api.cal.com/v2
。 - 身份验证主要使用带有
CALCOM_API_KEY
Bearer 令牌来处理。 create_booking
工具使用cal-api-version: 2024-08-13
标头,如该端点的 Cal.com API v2 文档中所述。- API 调用中包含错误处理,以提供信息响应。
🚀 内置
重要安全说明
**切勿将CALCOM_API_KEY
直接硬编码到源代码中。**请务必按照设置说明中的说明使用环境变量,以确保 API 密钥的安全。
Related MCP Servers
- GoMIT License
- TypeScriptMIT License
- JavaScript