工具: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、摘要、主旨、寄件者、收件者、副本、日期、標籤 ID。 |
輸出內容的結構定義
SearchThreads 遠端程序呼叫的回應訊息。
SearchThreadsResponse
| JSON 表示法 |
|---|
{
"threads": [
{
object ( |
| 欄位 | |
|---|---|
threads[] |
對話串摘要清單。 |
nextPageToken |
可在後續呼叫中使用的權杖,用於擷取下一頁的執行緒。如果還有其他結果,才會顯示。如果符合查詢的討論串數量超過 page_size 上限,回應就會包含 |
resultCountEstimate |
這項查詢的預估結果數。這項值應視為下限,舉例來說,如果值為 500,則系統可向使用者回報「500 以上」。 |
討論串
| JSON 表示法 |
|---|
{
"id": string,
"messages": [
{
object ( |
| 欄位 | |
|---|---|
id |
執行緒的專屬 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 |
訊息的專屬 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