工具:search_threads
列出已驗證使用者 Gmail 帳戶中的電子郵件討論串。
這項工具可根據查詢字串篩選執行緒,並支援分頁。系統會傳回討論串清單,包括 ID 和相關訊息。每封相關郵件都會顯示詳細資料,例如郵件內文片段、主旨、寄件者、收件者等。請注意,這項工具不會傳回完整郵件內文;如要擷取完整郵件內文,請使用「get_thread」工具和執行緒 ID。結果中仍可能會出現符合排除條件的討論串,這是因為 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 遠端程序呼叫的要求訊息。
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: 內容:主旨: 標籤和類別: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 遠端程序呼叫的回應訊息。
SearchThreadsResponse
| JSON 表示法 |
|---|
{
"threads": [
{
object ( |
| 欄位 | |
|---|---|
threads[] |
對話串摘要清單。 |
nextPageToken |
可在後續呼叫中使用的權杖,用於擷取下一頁的討論串。如果還有其他結果,才會顯示。如果符合查詢的討論串數量超過 page_size 上限,回應就會包含 |
討論串
| 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 ] } |
| 欄位 | |
|---|---|
id |
訊息的專屬 ID。 |
snippet |
郵件內文的程式碼片段。 |
subject |
從標頭擷取的郵件主旨: |
sender |
寄件者的電子郵件地址。 |
toRecipients[] |
收件者的電子郵件地址。 |
ccRecipients[] |
副本收件者的電子郵件地址。 |
date |
訊息日期,採用 ISO 8601 格式 (YYYY-MM-DD)。 |
plaintextBody |
完整內文內容,只有在 MessageFormat 為 FULL_CONTENT 時才會填入。 |
attachmentIds[] |
僅供輸出。附件 ID,只有在 MessageFormat 為 FULL_CONTENT 時才會填入。 |
工具註解
破壞性提示:❌ | 等冪提示:✅ | 唯讀提示:✅ | 開放世界提示:❌