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トランスポートを使用できます。これは開発時やサーバーを完全に制御したい場合に便利です。
前提条件
- 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 | Cal.comウェブアプリで予約、イベントタイプ、スケジュール、チーム、ルーティングフォーム、設定ページを開くURLを生成します |
ドキュメント
| ツール | 説明 |
|---|---|
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分のイベントタイプを作成して」
- 「明日のジョンとのミーティングをキャンセルして」
- 「来週の月曜日の空きスロットを表示して」
- 「午後2時のミーティングを木曜日の午後3時に再スケジュールして」
- 「どんなイベントタイプがありますか?」
関連リソース
- AIエージェントガイド — Cal.com APIを直接使用してAIエージェントを構築します
- API v2リファレンス — 完全なAPIエンドポイントドキュメント
- GitHubリポジトリ — ソースコード
このドキュメントは、開発者向けドキュメントプラットフォームであるMintlifyで構築・ホストされています。