Cal.com MCP

官方

通过位于 mcp.cal.com 的托管服务器或本地实例,使用 Model Context Protocol 将 AI 客户端连接到 Cal.com 的日程安排。

你可以用 Cal Com MCP 做什么?

  • 查看即将到来的预订 — 使用 get_bookings 请求带有日期范围或状态等筛选条件的预订列表。
  • 创建和管理活动类型 — 通过 create_event_type 及相关工具创建、更新或删除活动类型,例如“快速聊天”。
  • 重新安排或取消会议 — 使用 reschedule_booking 将预订重新安排到新时间,或使用 cancel_booking 完全取消。
  • 查找可用时间段 — 在安排之前,使用 get_availability 检索给定日期范围内的空闲时段。
  • 管理您的日程 — 使用 get_schedulescreate_schedule 查看、创建或修改您的可用性日程。
  • 处理预订参与者 — 使用 get_booking_attendees 查看预订的所有参与者,或使用 add_booking_attendee 添加新参与者。

文档

MCP 服务器

通过托管在 mcp.cal.com 的服务器或本地实例,使用模型上下文协议将 AI 客户端连接到 Cal.com 排程。

Cal.com MCP 服务器将 Cal.com API v2 封装在 模型上下文协议 中,让您可以在任何兼容 MCP 的客户端中通过自然语言管理预订、事件类型、日程等。

托管服务器 (mcp.cal.com)

最快的入门方式是直接将您的 MCP 客户端连接到 mcp.cal.com。托管服务器使用 Streamable HTTP 传输和 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"
    }
  }
}
```
打开 **设置 → MCP** 并使用 URL `https://mcp.cal.com/mcp` 添加新服务器,或将其添加到您的 `.cursor/mcp.json`:
```json theme={null}
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```
将服务器添加到您的 VS Code MCP 设置:
```json theme={null}
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```

自托管服务器 (stdio)

如果您更倾向于在本地运行服务器,可以使用 stdio 传输并配合 API 密钥。这适用于开发或您希望完全控制服务器的情况。

先决条件

连接您的客户端

将以下内容添加到您的 MCP 客户端配置中:

{
  "mcpServers": {
    "calcom": {
      "command": "npx",
      "args": ["@calcom/cal-mcp@latest"],
      "env": {
        "CAL_API_KEY": "cal_live_xxxx"
      }
    }
  }
}

cal_live_xxxx 替换为您实际的 API 密钥。

切勿分享或提交您的 API 密钥。如果泄露,请立即在您的 [Cal.com 设置](https://app.cal.com/settings/developer/api-keys) 中轮换。

可用工具

MCP 服务器公开了 34 个按类别组织的工具:

用户资料

工具描述
get_me获取您已认证的用户资料
update_me更新您的用户资料

事件类型

工具描述
get_event_types列出所有事件类型
get_event_type通过 ID 获取特定事件类型
create_event_type创建新事件类型
update_event_type更新事件类型
delete_event_type删除事件类型

预订

工具描述
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_schedules列出所有日程
get_schedule通过 ID 获取特定日程
create_schedule创建新日程
update_schedule更新日程
delete_schedule删除日程
get_default_schedule获取您的默认日程

可用性

工具描述
get_availability获取可用时间段
get_busy_times从日历获取忙碌时间

会议

工具描述
get_conferencing_apps列出会议应用程序

路由表单

工具描述
calculate_routing_form_slots根据路由表单响应计算时间段

组织

工具描述
get_org_memberships获取所有组织成员资格
create_org_membership创建组织成员资格
get_org_membership获取组织成员资格
delete_org_membership删除组织成员资格
get_org_routing_forms获取组织路由表单
get_org_routing_form_responses获取路由表单响应

示例提示

连接后,您可以使用自然语言与 Cal.com 交互:

  • "我这周有哪些预订?"
  • "创建一个名为'快速聊天'的 30 分钟事件类型"
  • "取消我明天与 John 的会议"
  • "显示我下周一的可用时间段"
  • "将我下午 2 点的会议重新安排到周四下午 3 点"
  • "我有哪些事件类型?"

相关资源