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

可选。过滤包含至少一个网址的消息。

startTime

string

可选。过滤在此时间之后创建的消息。格式:ISO 8601 时间戳。

endTime

string

可选。过滤掉在此时间之前创建的消息。格式:ISO 8601 时间戳。

mentionsMe

boolean

可选。过滤出明确提及调用用户的消息。

conversationIncludesUser

string

可选。过滤私信和群聊中包含特定用户电子邮件地址或 ID 的消息。

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。

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌