ツール: list_messages
指定した Google Chat の会話(スペース、ダイレクト メッセージ(DM)、グループ DM)からメッセージを Markdown 形式で取得します。スレッド、期間、メッセージ数でフィルタできます。さらに、メッセージの次のページを取得して、より多くのコンテキストを可能にすることもできます。非公開メッセージ(1 人のユーザーにのみ表示されるメッセージ)は除外されます。
次のコードサンプルは、curl を使用して list_messages MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_messages", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
ListChatMessagesRequest
| JSON 表現 |
|---|
{ "conversationId": string, "threadId": string, "pageSize": integer, "pageToken": string, "startTime": string, "endTime": string } |
| フィールド | |
|---|---|
conversationId |
必須。会話の ID。会話は、スペース、ダイレクト メッセージ(DM)、グループ DM / Chat のいずれかです。形式: spaces/{space} |
threadId |
省略可。会話内の特定のスレッドの ID。指定すると、このスレッドのメッセージのみが返されます。省略すると、会話内のすべてのスレッドのメッセージが考慮されます。形式: spaces/{space}/threads/{thread} |
pageSize |
省略可。返すメッセージの最大数。サービスが返す値はこれよりも少ないことがあります。指定しない場合のデフォルトは 20 です。最大値は 50 です。50 を超える値を指定すると、自動的に 50 に変更されます。 |
pageToken |
省略可。前回の list_messages 呼び出しから受け取ったページトークン。後続のページを取得するにはこれを指定します。 |
startTime |
省略可。メッセージをフィルタする ISO 8601 タイムスタンプ。この時刻以降に作成されたメッセージのみが返されます。 |
endTime |
省略可。メッセージをフィルタする ISO 8601 タイムスタンプ。この時刻より前に作成されたメッセージのみが返されます。 |
出力スキーマ
リクエストされた会話のメッセージのリストを含むレスポンス。
ListChatMessagesResponse
| JSON 表現 |
|---|
{
"messages": [
{
object ( |
| フィールド | |
|---|---|
messages[] |
取得されたメッセージのリスト。新しい順に表示されます。 |
nextPageToken |
次のメッセージ ページを取得するために、後続の |
ChatMessage
| JSON 表現 |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| フィールド | |
|---|---|
messageId |
メッセージのリソース名。形式: spaces/{space}/messages/{message} |
threadId |
このメッセージが属するスレッド。メッセージがスレッド化されていない場合、このフィールドは空になります。形式: spaces/{space}/threads/{thread} |
plaintextBody |
マークダウン形式を使用したメッセージのテキスト本文。 |
sender |
メッセージの送信者。 |
createTime |
出力専用。メッセージが作成されたときのタイムスタンプ。形式: ISO 8601 タイムスタンプ。 |
threadedReply |
メッセージがスレッドの返信かどうか。 |
attachments[] |
メールに含まれる添付ファイル。 |
reactionSummaries[] |
メッセージに含まれる絵文字のリアクションの概要。 |
quotedMessageMetadata |
出力専用。このメッセージで引用または転送されている元のメッセージに関する情報。注: このフィールドは開発中のため、まだすべての環境に表示されるわけではありません。 |
ユーザー
| JSON 表現 |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| フィールド | |
|---|---|
userId |
Chat ユーザーのリソース名。形式: users/{user} |
displayName |
Chat ユーザーの表示名。 |
email |
ユーザーのメールアドレス。このフィールドは、ユーザータイプが HUMAN の場合にのみ入力されます。 |
userType |
ユーザーのタイプ。 |
ChatAttachmentMetadata
| JSON 表現 |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| フィールド | |
|---|---|
attachmentId |
添付ファイルのリソース名。形式: spaces/{space}/messages/{message}/attachments/{attachment}。 |
filename |
添付ファイルの名前。 |
mimeType |
コンテンツ タイプ(MIME タイプ)。 |
source |
添付ファイルのソース。 |
driveFileId |
出力専用。Google ドライブ ファイルの ID。ソースが DRIVE_FILE の場合にのみ入力されます。Google ドライブ MCP と組み合わせて使用します。 |
ReactionSummary
| JSON 表現 |
|---|
{ "emoji": string, "count": integer } |
| フィールド | |
|---|---|
emoji |
絵文字の Unicode 文字列またはカスタム絵文字名。 |
count |
関連付けられた絵文字を使用したリアクションの合計数。 |
QuotedMessageMetadata
| JSON 表現 |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| フィールド | |
|---|---|
messageId |
出力専用。引用または転送された元のメッセージのリソース名。形式: spaces/{space}/messages/{message} |
lastUpdateTime |
出力専用。元のメッセージが作成された、または引用や転送の前に最後に更新されたときのタイムスタンプ。形式: ISO 8601 タイムスタンプ。 |
quoteType |
出力専用。見積もりの種類。 |
plaintextBody |
出力専用。引用または転送時の元のメッセージのテキスト本文のスナップショット。 |
sender |
出力専用。元のメッセージの作成者の表示名。 |
attachments[] |
出力専用。元のメッセージに含まれていた添付ファイル。 |
forwardedMetadata |
出力専用。転送されたメッセージのソース会話に関するメタデータ。 |
ForwardedMetadata
| JSON 表現 |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| フィールド | |
|---|---|
conversationId |
出力専用。ソース会話のリソース名。形式: spaces/{space} |
conversationDisplayName |
出力専用。メッセージが転送された時点のソース会話の表示名。名前付きスペースの場合、これはスペース名です。1 対 1 のダイレクト メッセージの場合、これは相手の名前です。名前のないグループ チャットの場合、これはメンバーの名前に基づいて生成された名前です。 |
UserType
Google Chat ユーザーのタイプ。
| 列挙型 | |
|---|---|
USER_TYPE_UNSPECIFIED |
指定なし。 |
HUMAN |
人間のユーザー。 |
APP |
アプリユーザー。 |
ソース
添付ファイルのソース。
| 列挙型 | |
|---|---|
SOURCE_UNSPECIFIED |
予約済み。 |
DRIVE_FILE |
ファイルが Google ドライブのファイルである。 |
UPLOADED_CONTENT |
ファイルが Chat にアップロードされます。 |
QuoteType
メッセージが引用返信か転送メッセージかを示す引用タイプ。
| 列挙型 | |
|---|---|
QUOTE_TYPE_UNSPECIFIED |
Reserved. 未定義の見積もりタイプ。 |
REPLY |
メッセージが、同じスレッド内の元のメッセージに対する引用返信である。 |
FORWARD |
メッセージが、別の会話の元のメッセージから、または同じ会話の別のスレッドから転送されている。 |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値のヒントが定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.messages.readonly