MCP Reference: calendarmcp.googleapis.com

これは、Google カレンダー API によって提供される MCP サーバーです。このサーバーは、デベロッパーがカレンダー上に LLM アプリケーションを構築するためのツールを提供します。

Model Context Protocol(MCP)サーバーは、大規模言語モデル(LLM)または AI アプリケーションにコンテキスト、データ、機能を提供する外部サービスとの間のプロキシとして機能します。MCP サーバーは、AI アプリケーションをデータベースやウェブサービスなどの外部システムに接続し、そのレスポンスを AI アプリケーションが理解できる形式に変換します。

サーバーの設定

使用する前に、カレンダー MCP サーバーを構成する必要があります。Google と Google Cloud のリモート MCP サーバーの使用方法について詳しくは、Google Cloud MCP サーバーの概要をご覧ください。

サーバー エンドポイント

MCP サービス エンドポイントは、安全で標準化された接続を確立するために AI アプリケーション(MCP クライアントのホスト)が使用する MCP サーバーのネットワーク アドレスと通信インターフェース(通常は URL)です。これは、LLM がコンテキストをリクエストしたり、ツールを呼び出したり、リソースにアクセスしたりするための接続ポイントとなります。Google MCP エンドポイントをグローバルまたはリージョンにすることができます。

Calendar API MCP サーバーには、次のグローバル MCP エンドポイントがあります。

  • https://calendarmcp.googleapis.com/mcp/v1

MCP ツール

MCP ツールは、現実世界でアクションを実行する目的で MCP サーバーが LLM または AI アプリケーションに対して公開する関数または実行可能な機能です。

ツール

calendarmcp.googleapis.com MCP サーバーには、次のツールがあります。

MCP ツール
list_events

指定された条件を満たす、指定されたカレンダーの予定を一覧表示します。

主な機能:

  • 任意のカレンダー ID(ユーザーのメイン カレンダーまたはその他のカレンダー)。
  • キーワードのマッチタイプ。
  • 期間フィルタ。
  • 時間とキーワードの制約に一致するすべてのイベントを取得します。

次のような場合は、代わりに search_events ツールを使用してください。

  • 制約を満たすすべてのイベントではなく、最も関連性の高いイベント(上位 K 件)を見つける必要がある場合。
  • セマンティック検索機能が必要な場合。
  • 特定の情報をユーザーのメイン カレンダーでのみ検索する場合。

このツールは、次のようなクエリに使用します。

  • 明日のカレンダーの予定は?
  • 2025 年 7 月 14 日のカレンダーの予定は?
  • 来週の会議は?
  • 今日の午後に予定の重複はありますか?

例:

list_events(
    startTime='2024-09-17T06:00:00',
    endTime='2024-09-17T12:00:00',
    pageSize=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
get_event

指定されたカレンダーから 1 つの予定を返します。

このツールは、次のようなクエリに使用します。

  • チーム会議の詳細を取得する。
  • カレンダーで ID が event123 の予定を表示する。

例:

get_event(
    eventId='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar.
list_calendars

ユーザーのカレンダー リストにあるカレンダーを返します。

このツールは、次のようなクエリに使用します。

  • すべてのカレンダーは?

例:

list_calendars()
# Returns all calendars the authenticated user has access to.
suggest_time

1 つ以上のカレンダーで期間を提案します。メイン カレンダーにアクセスするには、attendee_emails フィールドに「primary」を追加します。

このツールは、次のようなクエリに使用します。

  • 全員が会議に参加できる時間は?
  • 2 人とも参加できる 30 分間の枠を見つける。
  • jane.doe@google.com が月曜日の午前中に空いているかどうかを確認する。

例:

suggest_time(
    attendeeEmails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    startTime='2024-09-10T00:00:00',
    endTime='2024-09-17T00:00:00',
    durationMinutes=60,
    preferences={
        'startHour': '09:00',
        'endHour': '17:00',
        'excludeWeekends': True
    }
)
# Returns up to 5 suggested time slots where both users are available for at least one hour between 9:00 AM and 5:00 PM on weekdays from September 10 through September 16, 2024.
create_event

カレンダーの予定を作成します。

このツールは、次のようなクエリに使用します。

  • 明日の午後 2 時に「ジェーンとの会議」という予定をカレンダーに作成する。
  • 来週の月曜日の午前 10 時から午前 11 時まで john.doe@google.com との会議をスケジュールする。

例:

create_event(
    summary='Meeting with Jane',
    startTime='2024-09-17T14:00:00',
    endTime='2024-09-17T15:00:00'
)
# Creates an event on the primary calendar for September 17, 2024 from 2pm to 3pm called 'Meeting with Jane'.
update_event

カレンダーの予定を更新します。

このツールは、次のようなクエリに使用します。

  • 予定「ジェーンとの会議」を 1 時間後に更新する。
  • 明日の会議に john.doe@google.com を追加する。

例:

update_event(
    eventId='event123',
    summary='Meeting with Jane and John'
)
# Updates the summary of event with id 'event123' on the primary calendar to 'Meeting with Jane and John'.
delete_event

カレンダーの予定を削除します。

このツールは、次のようなクエリに使用します。

  • カレンダーで ID が event123 の予定を削除する。

予定をキャンセルまたは辞退するには、代わりに respond_to_event ツールを使用してください。

例:

delete_event(
    eventId='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
respond_to_event

予定に返信します。

このツールは、次のようなクエリに使用します。

  • カレンダーで ID が event123 の予定を承諾する。
  • ジェーンとの会議を辞退する。
  • 次の会議をキャンセルする。
  • 計画会議を仮承諾する。

例:

respond_to_event(
    eventId='event123',
    responseStatus='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar.

MCP ツールの仕様を取得する

MCP サーバー内のすべてのツールの MCP ツール仕様を取得するには、tools/list メソッドを使用します。次の例は、curl を使用して、MCP サーバー内で現在使用可能なすべてのツールとその仕様を一覧表示する方法を示しています。

Curl リクエスト
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'