ツール: 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 tool MCP 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 タイムスタンプ。 Aware メッセージは、この時刻より前に作成されたもののみが返されます。 |
出力スキーマ
リクエストされた会話のメッセージのリストを含むレスポンス。
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 |
出力専用。メッセージが作成されたときのタイムスタンプ。 |
threadedReply |
メッセージがスレッドの返信かどうか。 |
attachments[] |
メッセージに含まれる添付ファイル。 |
reactionSummaries[] |
メッセージに含まれる絵文字のリアクションの概要。 |
ユーザー
| 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 |
添付ファイルのソース。 |
ReactionSummary
| JSON 表現 |
|---|
{ "emoji": string, "count": integer } |
| フィールド | |
|---|---|
emoji |
絵文字の Unicode 文字列またはカスタム絵文字の名前。 |
count |
関連付けられた絵文字を使用したリアクションの合計数。 |
UserType
Google Chat ユーザーのタイプ。
| 列挙型 | |
|---|---|
USER_TYPE_UNSPECIFIED |
指定なし。 |
HUMAN |
人間のユーザー。 |
APP |
アプリユーザー。 |
ソース
添付ファイルのソース。
| 列挙型 | |
|---|---|
SOURCE_UNSPECIFIED |
予約済み。 |
DRIVE_FILE |
ファイルが Google ドライブのファイルである。 |
UPLOADED_CONTENT |
ファイルが Chat にアップロードされます。 |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために 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