Cal.com MCP
公式Model Context Protocolを使用して、ホストサーバーmcp.cal.comまたはローカルインスタンス経由でAIクライアントをCal.comのスケジューリングに接続します。
Cal Com MCPで何ができますか?
- 今後の予約を確認する —
get_bookingsを使用して、日付範囲やステータスなどのフィルターを指定した予約一覧を取得します。 - イベントタイプを作成・管理する —
create_event_typeおよび関連ツールを使用して、「クイックチャット」などのイベントタイプを作成、更新、削除します。 - ミーティングを再スケジュールまたはキャンセルする —
reschedule_bookingで予約を別の時間に変更するか、cancel_bookingで完全にキャンセルします。 - 空き時間枠を探す — スケジュール前に
get_availabilityを使用して、指定した日付範囲の空き枠を取得します。 - スケジュールを管理する —
get_schedulesとcreate_scheduleを使用して、自分の空き時間スケジュールを表示、作成、変更します。 - 予約の参加者を管理する —
get_booking_attendeesで予約の全参加者を表示するか、add_booking_attendeeで新しい参加者を追加します。
ドキュメント
MCPサーバー
mcp.cal.comのホスト型サーバーまたはローカルインスタンスを使用して、Model Context Protocol経由でAIクライアントをCal.comのスケジューリングに接続します。
Cal.com MCPサーバーは、Cal.com API v2をModel Context Protocolでラップし、MCP対応クライアントで自然言語を使用して予約、イベントタイプ、スケジュールなどを管理できるようにします。
ホスト型サーバー (mcp.cal.com)
最も早く始める方法は、MCPクライアントをmcp.cal.comに直接接続することです。ホスト型サーバーはOAuth 2.1認証を備えたStreamable HTTPトランスポートを使用し、クライアントが認可フローを自動的に処理します。
クライアントの接続
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)
サーバーをローカルで実行する場合は、APIキーを使用したstdioトランスポートを利用できます。これは開発時やサーバーを完全に制御したい場合に便利です。
前提条件
- 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を操作できます:
- 「今週の予約は何がありますか?」
- 「'Quick Chat'という30分のイベントタイプを作成して」
- 「明日のJohnとのミーティングをキャンセルして」
- 「来週の月曜日の空き枠を表示して」
- 「午後2時のミーティングを木曜日の午後3時に再スケジュールして」
- 「どんなイベントタイプがありますか?」
関連リソース
- AIエージェントガイド — Cal.com APIを直接使用してAIエージェントを構築
- API v2リファレンス — 完全なAPIエンドポイントドキュメント
- GitHubリポジトリ — ソースコード