工具: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 |
可选。过滤包含至少一个网址的消息。 |
startTime |
可选。过滤在此时间之后创建的消息。格式:ISO 8601 时间戳。 |
endTime |
可选。过滤掉在此时间之前创建的消息。格式:ISO 8601 时间戳。 |
mentionsMe |
可选。过滤出明确提及调用用户的消息。 |
conversationIncludesUser |
可选。过滤私信和群聊中包含特定用户电子邮件地址或 ID 的消息。 |
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。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌