工具:search_threads
列出经过身份验证的用户的 Gmail 账号中的电子邮件会话。
此工具可以根据查询字符串过滤线程,并支持分页。它会返回一个线程列表,其中包括线程 ID 和相关消息。每条相关消息都包含详细信息,例如消息正文的摘要、主题、发件人、收件人等。view 参数用于控制在相关消息中填充哪些字段。默认情况下(或使用 THREAD_VIEW_MINIMAL 时),它包含主题和摘要。使用 THREAD_VIEW_METADATA_ONLY 可排除主题和摘要。请注意,此工具不会返回完整的邮件正文;如果需要,请使用“get_thread”工具并提供线程 ID 来获取完整的邮件正文。符合排除条件的对话串可能仍会显示在结果中。这是因为 Gmail 会先识别匹配的邮件。例如,如果您搜索 -is:starred,即使同一会话中的其他邮件已加星标,Gmail 也可以找到包含至少一条未加星标邮件的整个会话。
以下示例演示了如何使用 curl 调用 search_threads MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://gmailmcp.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_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
"view": enum ( |
| 字段 | |
|---|---|
联合字段
|
|
pageSize |
可选。要返回的最大线程数。如果未指定,则默认为 20。允许的最大值为 50。 |
联合字段
|
|
pageToken |
可选。用于检索列表中特定结果页面的分页令牌。留空可提取第一页。此参数主要用于分页,以便从上一次 |
联合字段
|
|
query |
可选。用于过滤线程的查询字符串。自然语言查询必须预先转换为 Gmail 语法查询,才能使用此工具。如果省略,则会列出所有会话(默认情况下不包括垃圾内容和已删除内容)。 按类别列出的支持的运算符: 发件人和收件人:
时间和日期:
内容:
标签和类别:
状态:
尺寸:
逻辑和分组:
示例:
|
联合字段
|
|
includeTrash |
可选。在结果中包含“回收站”中的会话。默认值为 false。 |
联合字段
|
|
view |
可选。控制线程列表中线程填充的字段。默认值为 THREAD_VIEW_MINIMAL。THREAD_VIEW_MINIMAL 会返回 id、snippet、subject、from、to、cc、date、labelIds。THREAD_VIEW_METADATA_ONLY 会返回 id、from、to、cc、date、labelIds。 |
ThreadView
用于控制 ListThreads 和 SearchThreads 响应中填充的线程字段的枚举。
| 枚举 | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
为了向后兼容,映射到 THREAD_VIEW_MINIMAL。 |
THREAD_VIEW_METADATA_ONLY |
返回 id、from、to、cc、date、labelIds。 |
THREAD_VIEW_MINIMAL |
返回 id、snippet、subject、from、to、cc、date、labelIds。 |
输出架构
针对 SearchThreads RPC 的响应消息。
SearchThreadsResponse
| JSON 表示法 |
|---|
{
"threads": [
{
object ( |
| 字段 | |
|---|---|
threads[] |
线程摘要列表。 |
nextPageToken |
可在后续调用中用于检索下一页帖子的令牌。仅在有更多结果时显示。如果与查询匹配的线程数超过 page_size 上限,响应将包含 |
resultCountEstimate |
相应查询的估计结果数。应将其视为下限,例如,如果该值为 500,则可以向用户报告为“500+”。 |
线程
| 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
],
"htmlBody": string,
"attachments": [
{
object ( |
| 字段 | |
|---|---|
id |
消息的唯一标识符。 |
snippet |
消息正文的简短内容。 |
subject |
从标头中提取的邮件主题: |
sender |
发件人的电子邮件地址。 |
toRecipients[] |
收件人电子邮件地址。 |
ccRecipients[] |
抄送收件人的电子邮件地址。 |
date |
消息的日期,采用 ISO 8601 格式 (YYYY-MM-DD)。 |
plaintextBody |
完整正文内容,仅在 MessageFormat 为 FULL_CONTENT 时填充。 |
attachmentIds[] |
仅限输出。附件 ID,仅当 MessageFormat 为 FULL_CONTENT 时填充。 |
htmlBody |
电子邮件的 HTML 内容,仅在 MessageFormat 为 FULL_CONTENT 时填充。 |
attachments[] |
仅限输出。附件,仅当 MessageFormat 为 FULL_CONTENT 时填充。 |
labelIds[] |
附加到消息的标签的 ID。包含用户标签和标准系统标签的 ID,但仅限于 |
AttachmentMetadata
| JSON 表示法 |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| 字段 | |
|---|---|
id |
仅限输出。附件的 ID。 |
mimeType |
附件的 MIME 类型。 |
filename |
附件的文件名。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌
授权范围
需要以下 OAuth 范围之一:
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly