Tool: search_threads
Listet E‑Mail-Konversationen aus dem Gmail-Konto des authentifizierten Nutzers auf.
Mit diesem Tool können Threads anhand eines Abfragestrings gefiltert werden. Außerdem wird die Paginierung unterstützt. Es wird eine Liste von Threads zurückgegeben, einschließlich ihrer IDs und zugehörigen Nachrichten. Jede zugehörige Nachricht enthält Details wie einen Ausschnitt des Nachrichtentexts, den Betreff, den Absender und die Empfänger. Beachten Sie, dass mit diesem Tool nicht der vollständige Nachrichtentext zurückgegeben wird. Verwenden Sie das Tool „get_thread“ mit einer Thread-ID, um den vollständigen Nachrichtentext abzurufen. Threads mit ausgeschlossenen Kriterien können weiterhin in den Ergebnissen angezeigt werden. Das liegt daran, dass Gmail zuerst übereinstimmende Nachrichten identifiziert. Wenn Sie beispielsweise nach -is:starred suchen, findet Gmail einen ganzen Thread, wenn er mindestens eine Nachricht ohne Stern enthält, auch wenn andere E‑Mails in derselben Konversation mit einem Stern markiert sind.
Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool search_threads aufrufen.
| Curl-Anfrage |
|---|
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 }' |
Eingabeschema
Anfragenachricht für den RPC „SearchThreads“.
SearchThreadsRequest
| JSON-Darstellung |
|---|
{ "pageSize": integer "pageToken": string "query": string "includeTrash": boolean } |
| Felder | |
|---|---|
Union-Feld Für |
|
pageSize |
Optional. Die maximale Anzahl der zurückzugebenden Threads. Wenn nichts anderes angegeben wird, wird der Wert standardmäßig auf 20 gesetzt. Der maximal zulässige Wert beträgt 50. |
Union-Feld Für |
|
pageToken |
Optional. Seitentoken zum Abrufen einer bestimmten Ergebnisseite in der Liste. Lassen Sie das Feld leer, um die erste Seite abzurufen. Dieser Parameter wird hauptsächlich für die Paginierung verwendet, um Ergebnisse abzurufen, die beim vorherigen |
Union-Feld Für |
|
query |
Optional. Ein Abfragestring zum Filtern der Threads. Anfragen in natürlicher Sprache müssen vor der Verwendung dieses Tools in Gmail-Syntaxanfragen umgewandelt werden. Wenn das Flag nicht angegeben ist, werden alle Threads (mit Ausnahme von Spam und Papierkorb) aufgelistet. Unterstützte Operatoren nach Kategorie: Absender und Empfänger: from: Zeit und Datum: after:JJJJ/MM/TT / newer:JJJJ/MM/TT – nach einem bestimmten Datum empfangen. before:JJJJ/MM/TT / older:JJJJ/MM/TT – Vor einem bestimmten Datum empfangen. older_than: Inhalt: Betreff: Labels und Kategorien: label: Status: is: Größe: size: Logik und Gruppierung: UND – Alle Kriterien müssen erfüllt sein (Standardverhalten). ODER oder { } – Entspricht einem oder mehreren Kriterien (z.B. from:amy OR from:david, {from:amy from:david}). – (Minuszeichen): Kriterien ausschließen (z.B. -movie). ( ) – Mehrere Suchbegriffe gruppieren (z.B. subject:(dinner film)). Beispiele: „subject:OneMCP Update“ „from:user@example.com“ „to:user2@example.com AND newer_than:7d“ „project proposal has:attachment“ „is:unread -in:draft“ |
Union-Feld Für |
|
includeTrash |
Optional. Entwürfe aus dem Papierkorb in die Ergebnisse einbeziehen Die Standardeinstellung ist "false". |
Ausgabeschema
Antwortnachricht für den RPC „SearchThreads“.
SearchThreadsResponse
| JSON-Darstellung |
|---|
{
"threads": [
{
object ( |
| Felder | |
|---|---|
threads[] |
Liste der Zusammenfassungen von Unterhaltungen. |
nextPageToken |
Ein Token, das in einem nachfolgenden Aufruf verwendet werden kann, um die nächste Seite mit Threads abzurufen. Wird nur angezeigt, wenn es weitere Ergebnisse gibt. Wenn die Anzahl der Threads, die der Anfrage entsprechen, das Limit für „page_size“ überschreitet, enthält die Antwort ein |
Thread
| JSON-Darstellung |
|---|
{
"id": string,
"messages": [
{
object ( |
| Felder | |
|---|---|
id |
Die eindeutige ID des Threads. |
messages[] |
Eine Liste der Nachrichten im Thread, chronologisch sortiert. |
Nachricht
| JSON-Darstellung |
|---|
{ "id": string, "snippet": string, "subject": string, "sender": string, "toRecipients": [ string ], "ccRecipients": [ string ], "date": string, "plaintextBody": string, "attachmentIds": [ string ] } |
| Felder | |
|---|---|
id |
Die eindeutige ID der Nachricht. |
snippet |
Snippet des Nachrichtentexts. |
subject |
Der aus Headern extrahierte Betreff der Nachricht: |
sender |
E‑Mail-Adresse des Absenders. |
toRecipients[] |
An E-Mail-Adressen von Empfängern. |
ccRecipients[] |
E-Mail-Adressen der Cc-Empfänger. |
date |
Das Datum der Nachricht im ISO 8601-Format (JJJJ-MM-TT). |
plaintextBody |
Vollständiger Textinhalt, nur ausgefüllt, wenn MessageFormat FULL_CONTENT war. |
attachmentIds[] |
Nur Ausgabe. Die Anhänge-IDs werden nur ausgefüllt, wenn MessageFormat FULL_CONTENT war. |
Tool-Annotationen
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌