工具:search_threads
列出经过身份验证的用户的 Gmail 账号中的电子邮件会话。
此工具可以根据查询字符串过滤会话,并支持分页。它会返回会话列表,包括会话 ID 和相关消息。每条相关消息都包含详细信息,例如消息正文的摘要、主题、发件人、收件人等。请注意,此工具不会返回完整消息正文;如果需要,请使用带有会话 ID 的“get_thread”工具来提取完整消息正文。符合排除条件的会话可能仍会显示在结果中。这是因为 Gmail 会先识别匹配的消息。例如,如果您搜索 -is:starred,即使同一会话中的其他电子邮件已加星标,Gmail 也会找到包含至少一条未加星标消息的整个会话。
以下示例演示了如何使用 curl 调用 search_threads MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_threads", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
SearchThreads RPC 的请求消息。
SearchThreadsRequest
| JSON 表示法 |
|---|
{ "pageSize": integer "pageToken": string "query": string "includeTrash": boolean } |
| 字段 | |
|---|---|
联合字段
|
|
pageSize |
可选。要返回的最大会话数。如果未指定,则默认为 20。允许的最大值为 50。 |
联合字段
|
|
pageToken |
可选。用于检索列表中特定结果页面的页令牌。留空可提取第一页。此字段主要用于分页,以便从上一次 |
联合字段
|
|
query |
可选。用于过滤会话的查询字符串。自然语言查询必须先转换为 Gmail 语法查询,才能使用此工具。如果省略,系统会列出所有会话(默认排除垃圾邮件和已删除邮件)。 按类别划分的支持的运算符: 发件人和收件人:from: 时间和日期:after:YYYY/MM/DD / newer:YYYY/MM/DD - 在某个日期之后收到。before:YYYY/MM/DD / older:YYYY/MM/DD - 在某个日期之前收到。 older_than: 内容:subject: 标签和类别: label: 状态:is: 大小:size: 逻辑和分组:AND - 匹配所有条件(默认行为)。OR 或 { } - 匹配一个或多个条件(例如 from:amy OR from:david、{from:amy from:david})。-(减号)- 排除条件(例如 -movie)。 () - 将多个搜索字词分组(例如 subject:(dinner film))。 示例:“subject:OneMCP Update”“from:user@example.com”“to:user2@example.com AND newer_than:7d”“project proposal has:attachment”“is:unread -in:draft” |
联合字段
|
|
includeTrash |
可选。在结果中包含“已删除邮件”中的草稿。默认值为 false。 |
输出架构
SearchThreads RPC 的响应消息。
SearchThreadsResponse
| JSON 表示法 |
|---|
{
"threads": [
{
object ( |
| 字段 | |
|---|---|
threads[] |
会话摘要列表。 |
nextPageToken |
可在后续调用中用于检索下一页会话的令牌。仅当有更多结果时才会显示。如果与查询匹配的会话数超过 page_size 限制,响应将包含 |
会话
| JSON 表示法 |
|---|
{
"id": string,
"messages": [
{
object ( |
| 字段 | |
|---|---|
id |
会话的唯一标识符。 |
messages[] |
会话中的消息列表,按时间顺序排序。 |
消息
| JSON 表示法 |
|---|
{ "id": string, "snippet": string, "subject": string, "sender": string, "toRecipients": [ string ], "ccRecipients": [ string ], "date": string, "plaintextBody": string, "attachmentIds": [ string ] } |
| 字段 | |
|---|---|
id |
消息的唯一标识符。 |
snippet |
消息正文的摘要。 |
subject |
从标头中提取的消息主题: |
sender |
发件人的电子邮件地址。 |
toRecipients[] |
收件人的电子邮件地址。 |
ccRecipients[] |
抄送收件人的电子邮件地址。 |
date |
消息的日期,采用 ISO 8601 格式 (YYYY-MM-DD)。 |
plaintextBody |
完整正文内容,仅当 MessageFormat 为 FULL_CONTENT 时才会填充。 |
attachmentIds[] |
仅限输出。附件 ID,仅当 MessageFormat 为 FULL_CONTENT 时才会填充。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌