ツール: 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 |
省略可。結果が返される順序を指定します。サポートされている値: |
pageSize |
省略可。返される結果の最大数(最大 100)。指定されていない場合、最大で 25 個が返されます。 |
pageToken |
省略可。前回の |
SearchParameters
| JSON 表現 |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| フィールド | |
|---|---|
keywords[] |
省略可。結果のフィルタリングに使用されるキーワードのセット。 |
conversationId |
省略可。検索を、search_conversations ツールから返された特定の会話識別子に限定します。形式: |
sender |
省略可。特定のユーザーからのメッセージをフィルタします。送信者のメールアドレスまたはリソース名のいずれかを使用できます。ユーザー リソース名の形式は |
isUnread |
省略可。通話ユーザーが読んでいないメッセージをフィルタします。 |
hasLink |
省略可。URL を 1 つ以上含むメッセージをフィルタします。 |
startTime |
省略可。この時刻以降に作成されたメッセージのフィルタ。形式: ISO 8601 タイムスタンプ。 |
endTime |
省略可。この時刻より前に作成されたメッセージをフィルタします。形式: ISO 8601 タイムスタンプ。 |
mentionsMe |
省略可。呼び出し元のユーザーが明示的に言及されているメッセージをフィルタします。 |
conversationIncludesUser |
省略可。特定のユーザーのメールアドレスまたは ID を含む DM やグループ チャットのメッセージをフィルタします。 |
spaceDisplayNames[] |
省略可。スペース名のリストでフィルタします。スペースの表示名は部分的に一致します。注: 上位 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 ( |
| フィールド | |
|---|---|
messages[] |
検索条件に一致するメッセージ オブジェクトのリスト。 |
nextPageToken |
次のページを取得するために |
ChatMessage
| JSON 表現 |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| フィールド | |
|---|---|
messageId |
メッセージのリソース名。形式: |
threadId |
このメッセージが属するスレッド。メッセージがスレッド化されていない場合、これは空になります。形式: spaces/{space}/threads/{thread} |
plaintextBody |
メッセージのプレーン テキストの本文。 |
sender |
メッセージの送信者。 |
createTime |
出力専用。メッセージが作成されたときのタイムスタンプ。 |
threadedReply |
メッセージがスレッドの返信かどうか。 |
attachments[] |
メッセージに含まれる添付ファイル。 |
reactionSummaries[] |
メッセージに含まれる絵文字のリアクションの概要。 |
ユーザー
| JSON 表現 |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| フィールド | |
|---|---|
userId |
Chat ユーザーのリソース名。形式: |
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 にアップロードされます。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌