工具:search_conversations
按显示名称或参与者搜索 Google Chat 对话(已命名的聊天室、私信 (DM) 或群聊),以查找对话 ID。
此工具搜索的是对话元数据,而不是消息内容。如需在消息记录中搜索或按关键字/发件人/时间戳查找消息,请使用 search_messages。
如果仅提供 participants,此工具会查找包含指定参与者和调用用户的 1 对 1 私信(如果提供了一位参与者)或群聊(如果提供了多位参与者)。
如果仅提供 query,此工具会搜索对话,其中查询是不区分大小写的对话显示名称子字符串。
如果同时提供了 participants 和 query,此工具会按参与者查找对话,然后按显示名称过滤对话。
如果未提供 participants 和 query,此工具会列出调用用户所属的所有对话。
此工具仅列出调用用户所属的对话。
返回包含对话 ID(格式:spaces/{space})、显示名称和对话类型的对话对象列表。
重要提示:空 conversations 列表并不意味着没有更多结果。如果存在 next_page_token,则可以提取更多页面。如果您获得一个空列表但存在 next_page_token,请询问用户是否应继续搜索。
以下代码示例展示了如何使用 curl 调用 search_conversations 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": "search_conversations", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
SearchConversationsRequest
| JSON 表示法 |
|---|
{ "spaceNameQuery": string, "pageSize": integer, "pageToken": string, "participants": [ string ] } |
| 字段 | |
|---|---|
spaceNameQuery |
可选。要在聊天室显示名称中搜索的文本(不区分大小写的子字符串匹配)。 |
pageSize |
可选。要返回的聊天室数量上限。服务返回的值可能小于此值。如果未指定,则最多返回 20 个聊天室。最大值为 1,000;大于 1,000 的值将被强制转换为 1,000。 |
pageToken |
可选。从之前的 |
participants[] |
可选。用于过滤对话的参与者电子邮件地址列表,不包括调用者。 |
输出架构
包含匹配对话列表的响应。
SearchConversationsResponse
| JSON 表示法 |
|---|
{
"conversations": [
{
object ( |
| 字段 | |
|---|---|
conversations[] |
符合搜索条件的对话对象列表。每个对话都包含 conversation_id(格式:spaces/{space})、display_name、conversation_type 和 last_active_timestamp。 |
nextPageToken |
可作为 |
话题
| JSON 表示法 |
|---|
{
"conversationId": string,
"displayName": string,
"conversationType": enum ( |
| 字段 | |
|---|---|
conversationId |
对话的 ID(例如“spaces/AAAAAAAAA”)。 |
displayName |
对话的显示名称。 |
conversationType |
对话的类型(DIRECT_MESSAGE、GROUP_CHAT 或 NAMED_SPACE)。 |
lastActiveTimestamp |
对话的上次活动时间,采用 ISO 8601 格式。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 和 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代值。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
ConversationType
定义对话的类型。
| 枚举 | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
未指定。 |
NAMED_SPACE |
已命名的聊天室。 |
GROUP_CHAT |
3 人或更多人之间的群聊。 |
DIRECT_MESSAGE |
两个人之间或一个人与 Chat 应用之间的私信。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述给定工具的基本风险。大多数客户端会将这些提示视为不受信任,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,以下布尔值提示的定义如下:
readOnlyHint:如果为 true,则表示该工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则表示该工具可以执行破坏性操作。如果为 false,则表示该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则表示使用相同的参数重复调用该工具不会对其环境产生额外影响。默认值:false。openWorldHint:如果为 true,则表示该工具可以与外部实体的“开放世界”进行交互。如果为 false,则表示该工具只能与内部实体进行交互。例如,网络搜索工具属于开放世界,而内存工具则不属于开放世界。
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.spaceshttps://www.googleapis.com/auth/chat.spaces.readonly