ツール: 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.
次のサンプルは、curl を使用して list_events 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": "list_events", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
ListEventsRequest
| JSON 表現 |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| フィールド | |
|---|---|
eventTypeFilter[] |
省略可。返されるイベントタイプ。次の値があります。
空の場合、 |
共用体フィールド
|
|
calendarId |
省略可。イベントを一覧表示するカレンダーの ID。デフォルトはユーザーのメイン カレンダーです。 |
共用体フィールド
|
|
pageSize |
省略可。1 つの結果ページで返されるイベントの最大数。クエリに一致するイベントが他にもある場合でも、結果のページのイベント数がこの値より少なくなることや、イベントがまったく含まれないことがあります。不完全なページは、レスポンスの |
共用体フィールド
|
|
pageToken |
省略可。返す結果ページを指定するトークン。 |
共用体フィールド
|
|
startTime |
省略可。イベントの終了時間の境界値を含まない下限。この時刻より後に終了するイベントのみが返されます(つまり、検索する時間枠の開始)。 |
共用体フィールド
|
|
endTime |
省略可。イベントの開始時間の上限(境界値を含まない)。この時刻より前に開始したイベントのみが返されます(つまり、検索する時間枠の終了時刻)。指定する場合、 |
共用体フィールド
|
|
timeZone |
省略可。レスポンスで使用され、リクエスト内のタイムゾーンのない日付を解決するために使用されるタイムゾーン(IANA タイムゾーン データベース名( |
共用体フィールド
|
|
orderBy |
省略可。イベントが返される順序。次の値があります。
|
共用体フィールド
|
|
fullText |
省略可。タイトル、説明、場所、参加者を検索するための自由形式の検索クエリ。 |
出力スキーマ
ListEventsResponse
| JSON 表現 |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| フィールド | |
|---|---|
summary |
カレンダーのタイトル。 |
description |
カレンダーの説明。 |
updated |
カレンダーの最終変更日時(ISO 8601 タイムスタンプ)。 |
timeZone |
カレンダーのタイムゾーン。 |
accessRole |
このカレンダーに対するユーザーのアクセス権限。読み取り専用。次の値があります。
|
defaultReminders[] |
認証済みユーザーのカレンダーのデフォルトのリマインダー。これらのリマインダーは、明示的にオーバーライドされていない(override_reminders が設定されていない)このカレンダーのすべての予定に適用されます。 |
events[] |
カレンダーの予定のリスト。 |
共用体フィールド
|
|
nextPageToken |
この結果の次のページにアクセスするために使用されるトークン。それ以上の結果がない場合は省略されます。 |
リマインダー
| JSON 表現 |
|---|
{ "method": string "minutes": integer } |
| フィールド | |
|---|---|
共用体フィールド
|
|
method |
必須。リマインダーがユーザーに配信される方法。次の値があります。
|
共用体フィールド
|
|
minutes |
必須。リマインダーを配信するまでの時間(分)。 |
イベント
| JSON 表現 |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| フィールド | |
|---|---|
id |
イベントの不透明な識別子。新しい単発イベントまたは定期的なイベントを作成するときに、ID を指定できます。指定された ID は、次のルールに従う必要があります。
システムがグローバルに分散しているため、イベントの作成時に ID の衝突が検出されるとは限りません。競合のリスクを最小限に抑えるため、RFC4122 で説明されているような確立された UUID アルゴリズムを使用することをおすすめします。 ID を指定しない場合、サーバーによって自動的に生成されます。 icalUID と ID は同一ではなく、イベントの作成時にいずれか一方のみを指定する必要があります。セマンティクスの違いの 1 つは、定期的な予定では、1 つの予定のすべてのインスタンスに異なる ID が割り当てられますが、それらはすべて同じ icalUID を共有していることです。 |
status |
イベントのステータス。省略可。次の値があります。
キャンセル ステータスは、イベントタイプに応じて 2 つの異なる状態を表します。
主催者のカレンダーでは、キャンセルされた予定の詳細は(概要、場所など)引き続き表示され、復元(削除の取り消し)できます。同様に、ユーザーが招待され、手動で削除したイベントも、引き続き詳細を提供します。ただし、showDeleted が false に設定されている増分同期リクエストでは、これらの詳細は返されません。 イベントの主催者が変更され(移動オペレーションなど)、元の主催者が参加者リストにいない場合、キャンセルされたイベントが残ります。このイベントでは、id フィールドのみが入力されることが保証されます。 |
htmlLink |
Google カレンダーのウェブ UI でこの予定への絶対リンク。読み取り専用です。 |
created |
イベントの作成時間(ISO 8601 形式のタイムスタンプ)。読み取り専用です。 |
updated |
メインのイベントデータの最終更新日時(ISO 8601 形式のタイムスタンプ)。イベントのリマインダーを更新しても、この設定は変更されません。読み取り専用です。 |
summary |
イベントのタイトル。 |
description |
イベントの説明。HTML を含めることができます。省略可。 |
location |
イベントの地理的位置(自由形式のテキスト)。省略可。 |
creator |
イベントの作成者。読み取り専用です。 |
organizer |
イベントの主催者。主催者が参加者でもある場合は、参加者の別のエントリで、主催者フィールドが True に設定されます。読み取り専用です。 |
start |
イベントの開始時刻(この時間も含まれます)。定期的な予定の場合、これは最初のインスタンスの開始時刻です。 |
end |
イベントの終了時刻(含まれない)。定期的な予定の場合、これは最初のインスタンスの終了時刻です。 |
recurrence[] |
RFC5545 で指定されている、定期的な予定の RRULE、EXRULE、RDATE、EXDATE 行のリスト。このフィールドでは DTSTART 行と DTEND 行は使用できません。イベントの開始時刻と終了時刻は、開始フィールドと終了フィールドで指定します。このフィールドは、単一のイベントまたは定期的なイベントのインスタンスでは省略されます。 |
recurringEventId |
定期的な予定のインスタンスの場合、このインスタンスが属する定期的な予定の ID。変更できません。 |
originalStartTime |
定期的な予定のインスタンスの場合、これは recurringEventId で識別される定期的な予定の繰り返しデータに従って、この予定が開始される時刻です。インスタンスが別の時間に移動された場合でも、定期的な予定シリーズ内のインスタンスを一意に識別します。変更できません。 |
transparency |
予定がカレンダーの時間をブロックするかどうか。省略可。次の値があります。
|
visibility |
イベントの公開設定。省略可。次の値があります。
|
attendees[] |
イベントの参加者。 |
eventType |
イベントの具体的なタイプ。イベントの作成後に変更することはできません。次の値があります。
|
conferenceUrl |
予定の Google Meet リンク。 |
colorId |
イベントの色 ID(文字列
Google カレンダーでは、予定の色はカテゴリとして機能します。予定ごとまたはシリーズごとに設定できます。ユーザーはウェブ UI で色にカスタムラベル( |
overrideReminders[] |
この予定に定義されたリマインダー。カレンダーのデフォルトのリマインダーをオーバーライドします。設定されていない場合は、カレンダーのデフォルトのリマインダーが使用されます。 |
プリンシパル
| JSON 表現 |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| フィールド | |
|---|---|
email |
プリンシパル(カレンダー)のメールアドレス。 |
displayName |
プリンシパルの名前(ある場合)。 |
self |
このプリンシパルが、このイベントのコピーが表示されるカレンダーに対応しているかどうか。読み取り専用。デフォルトは False です。 |
DateOrDateTime
| JSON 表現 |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| フィールド | |
|---|---|
date |
ISO 8601 形式の日付(UTC の午前 0 時)。例: |
dateTime |
|
timeZone |
TZDB タイムゾーン名(利用可能な場合)。 |
参加者
| JSON 表現 |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| フィールド | |
|---|---|
id |
参加者のプロフィール ID(利用可能な場合)。 |
email |
参加者のメールアドレス(利用可能な場合)。このフィールドは、参加者を追加するときに指定する必要があります。RFC5322 に準拠した有効なメールアドレスである必要があります。参加者を追加する際に必要です。 |
displayName |
参加者の名前(利用可能な場合)。省略可。 |
organizer |
参加者が予定の主催者であるかどうか。読み取り専用。デフォルトは False です。 |
self |
このエントリが、このイベントのコピーが表示されるカレンダーを表すかどうか。読み取り専用。デフォルトは False です。 |
resource |
出席者がリソースかどうか。参加者がイベントに初めて追加されたときにのみ設定できます。以降の変更は無視されます。省略可。デフォルトは False です。 |
optionalAttendee |
この出席者が任意かどうか。省略可。デフォルトは False です。 |
responseStatus |
出席者の回答ステータス。次の値があります。
|
comment |
参加者の回答コメント。省略可。 |
additionalGuests |
追加の宿泊者数。省略可。デフォルトは 0 です。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌