MCP Tools Reference: chatmcp.googleapis.com

ツール: search_messages

キーワードとフィルタを使用して Google Chat のメッセージを検索します。ユーザーがアクセスできるすべてのスペースで機能します。特定の会話にスコープを設定することもできます。

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

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

入力スキーマ

キーワードとフィルタを使用して Google Chat のメッセージを検索するリクエスト。ユーザーがアクセスできるすべてのスペースで機能します。特定の会話にスコープを設定することもできます。

SearchMessagesRequest

JSON 表現
{
  "searchParameters": {
    object (SearchParameters)
  },
  "orderBy": enum (OrderBy),
  "pageSize": integer,
  "pageToken": string
}
フィールド
searchParameters

object (SearchParameters)

必須。検索に使用する検索パラメータ。

orderBy

enum (OrderBy)

省略可。結果が返される順序を指定します。サポートされている値: CREATE_TIME_DESCCREATE_TIME_ASCRELEVANCE_DESC。注: is_unread フィルタが使用されている場合、RELEVANCE_DESC は使用できません。デフォルトでは、is_unread が true に設定されていない場合は RELEVANCE_DESC が使用され、それ以外の場合は CREATE_TIME_DESC が使用されます。

pageSize

integer

省略可。返される結果の最大数(最大 100)。指定されていない場合、最大で 25 個が返されます。

pageToken

string

省略可。前回の search_messages 呼び出しから受け取ったページトークン。後続のページを取得するにはこれを指定します。

SearchParameters

JSON 表現
{
  "keywords": [
    string
  ],
  "conversationId": string,
  "sender": string,
  "isUnread": boolean,
  "hasLink": boolean,
  "startTime": string,
  "endTime": string,
  "mentionsMe": boolean,
  "conversationIncludesUser": string,
  "spaceDisplayNames": [
    string
  ]
}
フィールド
keywords[]

string

省略可。結果のフィルタリングに使用されるキーワードのセット。

conversationId

string

省略可。検索を、search_conversations ツールから返された特定の会話識別子に限定します。形式: spaces/{ID}

sender

string

省略可。特定のユーザーからのメッセージをフィルタします。送信者のメールアドレスまたはリソース名のいずれかを使用できます。ユーザー リソース名の形式は users/{ID} です。ここで、{ID} はユーザー ID またはメールアドレスです。

isUnread

boolean

省略可。通話ユーザーが読んでいないメッセージをフィルタします。

hasLink

boolean

省略可。URL を 1 つ以上含むメッセージをフィルタします。

startTime

string

省略可。この時刻以降に作成されたメッセージのフィルタ。形式: ISO 8601 タイムスタンプ。

endTime

string

省略可。この時刻より前に作成されたメッセージをフィルタします。形式: ISO 8601 タイムスタンプ。

mentionsMe

boolean

省略可。呼び出し元のユーザーが明示的に言及されているメッセージをフィルタします。

conversationIncludesUser

string

省略可。特定のユーザーのメールアドレスまたは ID を含む DM やグループ チャットのメッセージをフィルタします。

spaceDisplayNames[]

string

省略可。スペース名のリストでフィルタします。スペースの表示名は部分的に一致します。注: 上位 5 件の一致のみが返されます。

OrderBy

結果が返される順序を指定します。デフォルトでは、is_unread が true に設定されていない場合は RELEVANCE_DESC が使用され、それ以外の場合は CREATE_TIME_DESC が使用されます。

列挙型
ORDER_BY_UNSPECIFIED デフォルト値。
CREATE_TIME_DESC 作成日時の降順で並べ替えます。
RELEVANCE_DESC 関連性の高い順に並べ替えます。

出力スキーマ

Google Chat のメッセージを検索するためのレスポンス。next_page_token が入力されている場合は、そのトークンを使用して SearchMessages を再度呼び出し、結果の次のページを取得できます。

SearchMessagesResponse

JSON 表現
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
フィールド
messages[]

object (ChatMessage)

検索条件に一致するメッセージ オブジェクトのリスト。order_by リクエスト パラメータに従って並べ替えられます。

nextPageToken

string

次のページを取得するために page_token として送信できるトークン。このフィールドを省略すると、後続のページはなくなります。

ChatMessage

JSON 表現
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
フィールド
messageId

string

メッセージのリソース名。形式: spaces/{space}/messages/{message}

threadId

string

このメッセージが属するスレッド。メッセージがスレッド化されていない場合、これは空になります。形式: spaces/{space}/threads/{thread}

plaintextBody

string

メッセージのプレーン テキストの本文。

sender

object (User)

メッセージの送信者。

createTime

string

出力専用。メッセージが作成されたときのタイムスタンプ。

threadedReply

boolean

メッセージがスレッドの返信かどうか。

attachments[]

object (ChatAttachmentMetadata)

メッセージに含まれる添付ファイル。

reactionSummaries[]

object (ReactionSummary)

メッセージに含まれる絵文字のリアクションの概要。

ユーザー

JSON 表現
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
フィールド
userId

string

Chat ユーザーのリソース名。形式: users/{user}

displayName

string

Chat ユーザーの表示名。

email

string

ユーザーのメールアドレス。このフィールドは、ユーザータイプが HUMAN の場合にのみ入力されます。

userType

enum (UserType)

ユーザーのタイプ。

ChatAttachmentMetadata

JSON 表現
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source)
}
フィールド
attachmentId

string

添付ファイルのリソース名。形式: spaces/{space}/messages/{message}/attachments/{attachment}。

filename

string

添付ファイルの名前。

mimeType

string

コンテンツ タイプ(MIME タイプ)。

source

enum (Source)

添付ファイルのソース。

ReactionSummary

JSON 表現
{
  "emoji": string,
  "count": integer
}
フィールド
emoji

string

絵文字の Unicode 文字列またはカスタム絵文字の名前。

count

integer

関連付けられた絵文字を使用したリアクションの合計数。

UserType

Google Chat ユーザーのタイプ。

列挙型
USER_TYPE_UNSPECIFIED 指定なし。
HUMAN 人間のユーザー。
APP アプリユーザー。

ソース

添付ファイルのソース。

列挙型
SOURCE_UNSPECIFIED 予約済み。
DRIVE_FILE ファイルが Google ドライブのファイルである。
UPLOADED_CONTENT ファイルが Chat にアップロードされます。

ツールのアノテーション

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