MCP Tools Reference: calendarmcp.googleapis.com

ツール: get_event

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

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

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

例:

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

次のサンプルは、curl を使用して get_event MCP ツールを呼び出す方法を示しています。

Curl リクエスト
curl --location 'https://calendarmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

GetEventRequest

JSON 表現
{
  "eventId": string,

  "calendarId": string
}
フィールド
eventId

string

必須。取得するイベントの ID。

共用体フィールド _calendar_id

_calendar_id は次のいずれかになります。

calendarId

string

省略可。イベントを取得するカレンダーの ID。デフォルトはユーザーのメイン カレンダーです。

出力スキーマ

イベント

JSON 表現
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
フィールド
id

string

イベントの不透明な識別子。新しい単発イベントまたは定期的なイベントを作成するときに、ID を指定できます。指定された ID は、次のルールに従う必要があります。

  • ID に使用できる文字は、base32hex エンコードで使用される文字(英小文字 a ~ v と数字 0 ~ 9)です。RFC2938 のセクション 3.1.2 を参照してください。
  • ID の長さは 5 ~ 1,024 文字にする必要があります。
  • ID はカレンダーごとに一意である必要があります

システムがグローバルに分散しているため、イベントの作成時に ID の衝突が検出されるとは限りません。競合のリスクを最小限に抑えるため、RFC4122 で説明されているような確立された UUID アルゴリズムを使用することをおすすめします。

ID を指定しない場合、サーバーによって自動的に生成されます。

icalUID と ID は同一ではなく、イベントの作成時にいずれか一方のみを指定する必要があります。セマンティクスの違いの 1 つは、定期的な予定では、1 つの予定のすべてのインスタンスに異なる ID が割り当てられますが、それらはすべて同じ icalUID を共有していることです。

status

string

イベントのステータス。省略可。次の値があります。

  • confirmed - イベントが確定しています。これがデフォルトのステータスです。
  • tentative - イベントが仮確定しています。
  • cancelled - イベントがキャンセル(削除)されました。リストメソッドは、増分同期(syncToken または updatedMin が指定されている場合)でのみ、または showDeleted フラグが true に設定されている場合にのみ、キャンセルされたイベントを返します。get メソッドは常にそれらを返します。

キャンセル ステータスは、イベントタイプに応じて 2 つの異なる状態を表します。

  1. キャンセルされていない定期的な予定の例外がキャンセルされた場合、このインスタンスはユーザーに表示されなくなります。クライアントは、これらのイベントを親の定期的な予定の全期間保存する必要があります。キャンセルされた例外では、id、recurringEventId、originalStartTime の各フィールドに値が入力されることのみが保証されます。他のフィールドは空の場合があります。
  2. キャンセルされた他のすべてのイベントは、削除されたイベントを表します。クライアントはローカルで同期されたコピーを削除する必要があります。このようなキャンセルされたイベントは最終的に消滅するため、無期限に利用できるとは限りません。削除されたイベントでは、id フィールドのみが入力されることが保証されます。

主催者のカレンダーでは、キャンセルされた予定の詳細は(概要、場所など)引き続き表示され、復元(削除の取り消し)できます。同様に、ユーザーが招待され、手動で削除したイベントも、引き続き詳細を提供します。ただし、showDeleted が false に設定されている増分同期リクエストでは、これらの詳細は返されません。

イベントの主催者が変更され(移動オペレーションなど)、元の主催者が参加者リストにいない場合、キャンセルされたイベントが残ります。このイベントでは、id フィールドのみが入力されることが保証されます。

htmlLink

string

Google カレンダーのウェブ UI でこの予定への絶対リンク。読み取り専用です。

created

string

イベントの作成時間(ISO 8601 形式のタイムスタンプ)。読み取り専用です。

updated

string

メインのイベントデータの最終更新日時(ISO 8601 形式のタイムスタンプ)。イベントのリマインダーを更新しても、この設定は変更されません。読み取り専用です。

summary

string

イベントのタイトル。

description

string

イベントの説明。HTML を含めることができます。省略可。

location

string

イベントの地理的位置(自由形式のテキスト)。省略可。

creator

object (Principal)

イベントの作成者。読み取り専用です。

organizer

object (Principal)

イベントの主催者。主催者が参加者でもある場合は、参加者の別のエントリで、主催者フィールドが True に設定されます。読み取り専用です。

start

object (DateOrDateTime)

イベントの開始時刻(この時間も含まれます)。定期的な予定の場合、これは最初のインスタンスの開始時刻です。

end

object (DateOrDateTime)

イベントの終了時刻(含まれない)。定期的な予定の場合、これは最初のインスタンスの終了時刻です。

recurrence[]

string

RFC5545 で指定されている、定期的な予定の RRULE、EXRULE、RDATE、EXDATE 行のリスト。このフィールドでは DTSTART 行と DTEND 行は使用できません。イベントの開始時刻と終了時刻は、開始フィールドと終了フィールドで指定します。このフィールドは、単一のイベントまたは定期的なイベントのインスタンスでは省略されます。

recurringEventId

string

定期的な予定のインスタンスの場合、このインスタンスが属する定期的な予定の ID。変更できません。

originalStartTime

object (DateOrDateTime)

定期的な予定のインスタンスの場合、これは recurringEventId で識別される定期的な予定の繰り返しデータに従って、この予定が開始される時刻です。インスタンスが別の時間に移動された場合でも、定期的な予定シリーズ内のインスタンスを一意に識別します。変更できません。

transparency

string

予定がカレンダーの時間をブロックするかどうか。省略可。次の値があります。

  • opaque - デフォルト値。予定はカレンダーの時間をブロックします。これは、カレンダーの UI で [予定あり] に設定するのと同じです。
  • transparent - 予定はカレンダーの時間をブロックしません。これは、カレンダーの UI で [予定なし] に設定するのと同じです。
visibility

string

イベントの公開設定。省略可。次の値があります。

  • default - カレンダーの予定のデフォルトの公開設定を使用します。これがデフォルト値です。
  • public - 予定は公開されており、予定の詳細がカレンダーのすべての閲覧者に表示されます。
  • private - イベントは非公開で、イベントの参加者のみがイベントの詳細を表示できます。
  • confidential - イベントは非公開です。この値は互換性の理由から提供されています。
attendees[]

object (Attendee)

イベントの参加者。

eventType

string

イベントの具体的なタイプ。イベントの作成後に変更することはできません。次の値があります。

  • birthday - 年単位で繰り返される特別な終日の予定。
  • default - 通常のイベント。または、それ以外。
  • focusTime - サイレント モードの予定。
  • fromGmail - Gmail からの予定。このタイプのイベントは作成できません。
  • outOfOffice - 不在の予定。
  • workingLocation - 勤務場所イベント。
conferenceUrl

string

予定の Google Meet リンク。

colorId

string

イベントの色 ID(文字列 111):

  • 1: ラベンダー
  • 2: Sage
  • 3: グレープ
  • 4: Flamingo
  • 5: バナナ
  • 6: タンジェリン
  • 7: Peacock
  • 8: グラファイト
  • 9: ブルーベリー
  • 10: バジル
  • 11: トマト。

Google カレンダーでは、予定の色はカテゴリとして機能します。予定ごとまたはシリーズごとに設定できます。ユーザーはウェブ UI で色にカスタムラベル(1:1sBreak など)を割り当てることができますが、API はこれらのラベルではなく、数値 ID のみを公開します。自分のカレンダーの表示にのみ影響します。各参加者は自分の予定の色を管理します。

overrideReminders[]

object (Reminder)

この予定に定義されたリマインダー。カレンダーのデフォルトのリマインダーをオーバーライドします。設定されていない場合は、カレンダーのデフォルトのリマインダーが使用されます。

プリンシパル

JSON 表現
{
  "email": string,
  "displayName": string,
  "self": boolean
}
フィールド
email

string

プリンシパル(カレンダー)のメールアドレス。

displayName

string

プリンシパルの名前(ある場合)。

self

boolean

このプリンシパルが、このイベントのコピーが表示されるカレンダーに対応しているかどうか。読み取り専用。デフォルトは False です。

DateOrDateTime

JSON 表現
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
フィールド
date

string

ISO 8601 形式の日付(UTC の午前 0 時)。例: 2019-11-20T00:00:00Z。このフィールドが設定されている場合、date_time は設定できません。

dateTime

string

2019-11-20T08:19:06-07:002019-11-20T08:19:06Z などの ISO 8601 形式のタイムスタンプ。このフィールドが設定されている場合、date は設定できません。

timeZone

string

TZDB タイムゾーン名(利用可能な場合)。

参加者

JSON 表現
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
フィールド
id

string

参加者のプロフィール ID(利用可能な場合)。

email

string

参加者のメールアドレス(利用可能な場合)。このフィールドは、参加者を追加するときに指定する必要があります。RFC5322 に準拠した有効なメールアドレスである必要があります。参加者を追加する際に必要です。

displayName

string

参加者の名前(利用可能な場合)。省略可。

organizer

boolean

参加者が予定の主催者であるかどうか。読み取り専用。デフォルトは False です。

self

boolean

このエントリが、このイベントのコピーが表示されるカレンダーを表すかどうか。読み取り専用。デフォルトは False です。

resource

boolean

出席者がリソースかどうか。参加者がイベントに初めて追加されたときにのみ設定できます。以降の変更は無視されます。省略可。デフォルトは False です。

optionalAttendee

boolean

この出席者が任意かどうか。省略可。デフォルトは False です。

responseStatus

string

出席者の回答ステータス。次の値があります。

  • needsAction - 参加者が招待状に返信していません(新しいイベントにおすすめ)。
  • declined - 参加者が招待を辞退しました。
  • tentative - 参加者が招待を仮承諾しました。
  • accepted - 参加者が招待を承諾しました。
comment

string

参加者の回答コメント。省略可。

additionalGuests

integer

追加の宿泊者数。省略可。デフォルトは 0 です。

リマインダー

JSON 表現
{

  "method": string

  "minutes": integer
}
フィールド

共用体フィールド _method

_method は次のいずれかになります。

method

string

必須。リマインダーがユーザーに配信される方法。次の値があります。

  • email - リマインダーはメールで送信されます。
  • popup - リマインダーは UI ポップアップで送信されます。

共用体フィールド _minutes

_minutes は次のいずれかになります。

minutes

integer

必須。リマインダーを配信するまでの時間(分)。

ツールのアノテーション

破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌