Cal.com API 服务器

一个用于与Cal.com API交互的FastMCP服务器,支持语言学习模型(LLMs)管理事件类型和预订等功能。

  • by Danielpeter-99
  • Python
  • 本地部署
  • 19 星标
  • 更新于
在 GitHub 查看 Danielpeter-99/calcom-mcp

使用说明

Cal.com FastMCP服务器

⚠️ 免责声明:此项目不隶属于Cal.com或得到Cal.com的认可。我是一名独立开发人员,与Cal.com没有任何官方联系。

该项目提供了一个FastMCP服务器,用于与Cal.com API交互。它允许语言学习模型(LLM)使用工具连接Cal.com的重要功能,如管理活动类型和预订。

先决条件

  • Python 3.8+
  • Cal.com帐户和API密钥(v2)

设置

  1. 克隆存储库(如果适用)或下载文件。

    git clone https://github.com/Danielpeter-99/calcom-mcp.git
    cd calcom-mcp
    
  2. 创建虚拟环境(推荐):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 设置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密钥的安全。