Cal.com MCP
官方透過 Model Context Protocol,將 AI 客戶端連接到 Cal.com 排程,可使用 mcp.cal.com 上的託管伺服器或本地實例。
你可以用 Cal Com MCP 做什麼?
- 管理預訂 — 請您的助理使用
get_bookings和create_booking等工具來列出、建立、重新安排或取消預訂。 - 設定活動類型 — 透過
create_event_type和update_event_type建立或更新活動類型,例如 30 分鐘的「快速通話」。 - 檢查可用性 — 使用
get_availability和get_busy_times查詢已連結日曆中的空檔時段或忙碌時段。 - 處理行程表 — 使用
create_schedule和get_default_schedule建立、更新或擷取您的預設行程表。 - 管理團隊與成員資格 — 透過
create_team_invite和update_team_membership邀請成員或調整團隊角色。
文件
MCP 伺服器
透過 Model Context Protocol,使用 mcp.cal.com 的託管伺服器或本機實例,將 AI 用戶端連線至 Cal.com 排程功能。
Cal.com MCP 伺服器將 Cal.com API v2 包裝在 Model Context Protocol 中,讓您可以在任何相容 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"
}
}
}
```
將以下內容加入您的 `~/.fx/mcp.json`:
```json theme={null}
{
"mcp": {
"calcom": {
"type": "http",
"url": "https://mcp.cal.com/mcp"
}
}
}
```
然後在 fx 中執行 `/mcp auth calcom --open` 以進行授權。請參閱
[fx MCP 文件](https://fx.sh/docs/capabilities/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 金鑰。
警告
切勿分享或提交您的 API 金鑰。若遭洩露,請立即在您的 Cal.com 設定 中輪替。
工具集
您可以透過在伺服器 URL 後附加 toolsets 查詢參數,限制伺服器在會話中註冊的工具:
https://mcp.cal.com/mcp?toolsets=bookings,availability
有效的工具集:profile、event-types、bookings、availability、schedules、calendars、teams、organizations、routing-forms、catalog(find_api_operation / describe_api_operation / call_api_operation 元工具)。未知名稱會以 400 invalid_request 拒絕。省略此參數會註冊所有工具;本機工具 get_app_link 和 search_docs 無論選擇為何皆會註冊。對於自架的 stdio 伺服器,請改為設定 MCP_TOOLSETS。
可用工具
MCP 伺服器提供 63 個工具,依類別分類:
應用程式連結
| 工具 | 說明 |
|---|---|
get_app_link | 建立 URL,在 Cal.com 網頁應用程式中開啟預約、活動類型、行程、團隊、路由表單或設定頁面 |
文件
| 工具 | 說明 |
|---|---|
search_docs | 搜尋 Cal.com 產品文件;回傳排名頁面並附上最相關結果的摘要 |
使用者個人資料
| 工具 | 說明 |
|---|---|
get_me | 取得您已驗證的使用者個人資料 |
update_me | 更新您的使用者個人資料 |
活動類型
| 工具 | 說明 |
|---|---|
get_event_types | 列出所有活動類型 |
get_event_type | 依 ID 取得特定活動類型 |
create_event_type | 建立新的活動類型 |
update_event_type | 更新活動類型 |
delete_event_type | 刪除活動類型 |
get_event_type_settings | 取得活動類型的設定 |
get_event_type_history | 取得活動類型的變更歷史 |
get_scheduling_config | 取得活動類型的排程設定 |
get_crm_sync_errors | 取得活動類型的 CRM 同步錯誤 |
預約
| 工具 | 說明 |
|---|---|
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_booking_routing_trace | 取得預約的路由追蹤 |
get_org_team_bookings | 取得組織團隊的預約 |
get_org_user_bookings | 取得組織使用者的預約 |
行程
| 工具 | 說明 |
|---|---|
get_schedules | 列出所有行程 |
get_schedule | 依 ID 取得特定行程 |
create_schedule | 建立新的行程 |
update_schedule | 更新行程 |
delete_schedule | 刪除行程 |
get_default_schedule | 取得您的預設行程 |
可用性與行事曆
| 工具 | 說明 |
|---|---|
get_availability | 取得可用的時段 |
get_busy_times | 從行事曆取得忙碌時間 |
get_connected_calendars | 列出已連線的行事曆 |
get_conferencing_apps | 列出視訊會議應用程式 |
團隊與成員資格
| 工具 | 說明 |
|---|---|
get_my_teams | 取得您所屬的團隊 |
get_org_teams | 取得組織團隊 |
create_team_invite | 邀請某人加入團隊 |
create_team_membership | 建立團隊成員資格 |
get_team_memberships | 取得所有團隊成員資格 |
get_team_membership | 取得團隊成員資格 |
update_team_membership | 更新團隊成員資格 |
delete_team_membership | 刪除團隊成員資格 |
組織
| 工具 | 說明 |
|---|---|
get_org_memberships | 取得所有組織成員資格 |
create_org_membership | 建立組織成員資格 |
get_org_membership | 取得組織成員資格 |
update_org_membership | 更新組織成員資格 |
delete_org_membership | 刪除組織成員資格 |
get_org_attributes | 取得組織屬性 |
get_org_attribute | 取得組織屬性 |
get_attribute_options | 取得屬性的選項 |
get_user_attributes | 取得指派給使用者的屬性 |
assign_attribute_to_user | 指派屬性給使用者 |
update_user_attribute | 更新指派給使用者的屬性 |
unassign_attribute_from_user | 取消指派使用者的屬性 |
get_user_attribute_history | 取得使用者的屬性指派歷史 |
路由表單
| 工具 | 說明 |
|---|---|
calculate_routing_form_slots | 根據路由表單回應計算時段 |
get_org_routing_forms | 取得組織路由表單 |
get_org_routing_form_responses | 取得路由表單回應 |
API 目錄
| 工具 | 說明 |
|---|---|
find_api_operation | 搜尋完整的 API v2 操作目錄 |
describe_api_operation | 取得 API 操作的輸入架構 |
call_api_operation | 從目錄執行任何 API v2 操作 |
範例提示
連線後,您可以使用自然語言與 Cal.com 互動:
- 「我這週有哪些預約?」
- 「建立一個名為『快速聊天』的 30 分鐘活動類型」
- 「取消我明天與 John 的會議」
- 「顯示我下週一可用的時段」
- 「將我下午 2 點的會議重新安排到週四下午 3 點」
- 「我有哪些活動類型?」
相關資源
- AI 代理指南 — 使用 Cal.com API 直接建立 AI 代理
- API v2 參考 — 完整的 API 端點文件
- GitHub 儲存庫 — 原始碼
此文件由 Mintlify 建置與託管,這是一個開發者文件平台。