Cal.com MCP
官方透過 Model Context Protocol,將 AI 客戶端連接到 Cal.com 排程,可使用 mcp.cal.com 上的託管伺服器或本地實例。
文件
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 金鑰。這適用於開發或您希望完全控制伺服器的情況。
先決條件
- Node.js >= 18
- Cal.com API 金鑰 — 在 設定 → 開發者 → API 金鑰 中產生
連接您的客戶端
將以下內容新增至您的 MCP 客戶端設定:
{
"mcpServers": {
"calcom": {
"command": "npx",
"args": ["@calcom/cal-mcp@latest"],
"env": {
"CAL_API_KEY": "cal_live_xxxx"
}
}
}
}
將 cal_live_xxxx 替換為您的實際 API 金鑰。
可用工具
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 點"
- "我有哪些活動類型?"
相關資源
- AI 代理指南 — 直接使用 Cal.com API 建置 AI 代理
- API v2 參考 — 完整的 API 端點文件
- GitHub 儲存庫 — 原始碼