Cal.com MCP

公式

Model Context Protocolを使用して、ホストサーバーmcp.cal.comまたはローカルインスタンス経由でAIクライアントを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)

サーバーをローカルで実行したい場合は、APIキーを使用したstdioトランスポートを使用できます。これは開発時やサーバーを完全に制御したい場合に便利です。

前提条件

クライアントの接続

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_linkCal.comウェブアプリで予約、イベントタイプ、スケジュール、チーム、ルーティングフォーム、設定ページを開くURLを生成します

ドキュメント

ツール説明
search_docsCal.com製品ドキュメントを検索し、上位結果の抜粋付きでランク付けされたページを返します

ユーザープロフィール

ツール説明
get_me認証済みユーザープロフィールを取得します
update_meユーザープロフィールを更新します

イベントタイプ

ツール説明
get_event_typesすべてのイベントタイプを一覧表示します
get_event_typeIDで特定のイベントタイプを取得します
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_bookingUIDで特定の予約を取得します
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_scheduleIDで特定のスケジュールを取得します
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_operationAPI操作の入力スキーマを取得します
call_api_operationカタログから任意のAPI v2操作を実行します

プロンプト例

接続後、自然言語でCal.comと対話できます:

  • 「今週の予約は何がありますか?」
  • 「『クイックチャット』という30分のイベントタイプを作成して」
  • 「明日のジョンとのミーティングをキャンセルして」
  • 「来週の月曜日の空きスロットを表示して」
  • 「午後2時のミーティングを木曜日の午後3時に再スケジュールして」
  • 「どんなイベントタイプがありますか?」

関連リソース

このドキュメントは、開発者向けドキュメントプラットフォームであるMintlifyで構築・ホストされています。