MCP Tools Reference: gmailmcp.googleapis.com

Outil : search_threads

Liste les fils de discussion du compte Gmail de l'utilisateur authentifié.

Cet outil peut filtrer les fils de discussion en fonction d'une chaîne de requête et est compatible avec la pagination. Il renvoie une liste de fils de discussion, y compris leurs ID et les messages associés. Chaque message associé contient des informations telles qu'un extrait du corps du message, l'objet, l'expéditeur, les destinataires, etc. Notez que les corps de message complets ne sont pas renvoyés par cet outil. Utilisez l'outil "get_thread" avec un ID de fil de discussion pour récupérer le corps du message complet si nécessaire. Les fils de discussion avec des critères exclus peuvent toujours apparaître dans les résultats. En effet, Gmail identifie d'abord les messages correspondants. Par exemple, si vous recherchez -is:starred, Gmail trouvera un fil de discussion entier s'il contient au moins un message non marqué d'une étoile, même si d'autres e-mails de cette même conversation sont marqués d'une étoile.

L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP search_threads.

Requête 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
}'
                

Schéma d'entrée

Message de requête pour le RPC SearchThreads.

SearchThreadsRequest

Représentation JSON
{

  "pageSize": integer

  "pageToken": string

  "query": string

  "includeTrash": boolean
}
Champs

Champ d'union _page_size.

_page_size ne peut être qu'un des éléments suivants :

pageSize

integer

Facultatif. Nombre maximal de fils de discussion à afficher. Si aucune valeur n'est spécifiée, la valeur définie par défaut est 20. La valeur maximale autorisée est de 50.

Champ d'union _page_token.

_page_token ne peut être qu'un des éléments suivants :

pageToken

string

Facultatif. Jeton de page permettant de récupérer une page de résultats spécifique dans la liste. Laissez ce champ vide pour récupérer la première page. Il est principalement utilisé pour la pagination afin de continuer à récupérer les résultats à partir de l'endroit où l'appel SearchThreads précédent s'est arrêté, en particulier lorsque le nombre de fils de discussion correspondant à la requête dépasse la limite de page_size.

Champ d'union _query.

_query ne peut être qu'un des éléments suivants :

query

string

Facultatif. Chaîne de requête permettant de filtrer les fils de discussion. Les requêtes en langage naturel doivent être préalablement converties en requêtes de syntaxe Gmail pour utiliser cet outil. Si ce champ est omis, tous les fils de discussion (à l'exception du spam et de la corbeille par défaut) sont listés.

Opérateurs compatibles par catégorie :

Expéditeur et destinataire : from: - Envoyé par une personne spécifique. to: - Envoyé à une personne spécifique. cc: - Personnes spécifiques en copie. bcc: - Personnes spécifiques en copie cachée. deliveredto: - Livré à une adresse spécifique. list: - Provenant d'une liste de diffusion spécifique.

Heure et date : after:AAAA/MM/JJ / newer:AAAA/MM/JJ - Reçu après une date. before:AAAA/MM/JJ / older:AAAA/MM/JJ - Reçu avant une date. older_than: - Plus ancien qu'une durée (par exemple, 1 an, 2 jours). newer_than: - Plus récent qu'une durée.

Contenu : subject: - Mots figurant dans la ligne d'objet. has: - Contient des types de contenu spécifiques (pièce jointe, Drive, YouTube, document). filename: - Pièce jointe portant un nom ou un type spécifique. "<mot/expression>" - Recherchez un mot ou une expression exacts. (par exemple, "vacances", "vacances de Noël"). + - Correspond exactement à un mot. (par exemple, +vacances, +licorne) rfc822msgid: - En-tête d'ID de message spécifique. AROUND - Recherchez des mots proches les uns des autres (par exemple, vacances AROUND 10 congés).

Libellés et catégories : label: - Sous un libellé spécifique. L'outil accepte les ID de libellé, et non les noms à afficher. Utilisez l'outil list_labels pour obtenir l'ID. category: - Dans une catégorie (principale, réseaux sociaux, promotions, notifications, forums, réservations, achats). in:

État : is: - Recherchez par état (important, marqué d'une étoile, non lu, lu, mis en sourdine).

Taille : size: - Taille spécifique en octets. larger: / smaller: - Plus grand ou plus petit qu'une taille (par exemple, 10M pour 10 Mo).

Logique et regroupement : AND - Correspond à tous les critères (comportement par défaut). OR ou { } - Correspond à un ou plusieurs critères (par exemple, from:amy OR from:david, {from:amy from:david}). - (moins) - Exclut les critères (par exemple, -film). ( ) - Regroupe plusieurs termes de recherche (par exemple, subject:(dîner film)).

Exemples : "subject:OneMCP Update" "from:user@example.com" "to:user2@example.com AND newer_than:7d" "project proposal has:attachment" "is:unread -in:draft"

Champ d'union _include_trash.

_include_trash ne peut être qu'un des éléments suivants :

includeTrash

boolean

Facultatif. Incluez les brouillons de la CORBEILLE dans les résultats. Valeur par défaut : "false".

Schéma de sortie

Message de réponse pour le RPC SearchThreads.

SearchThreadsResponse

Représentation JSON
{
  "threads": [
    {
      object (Thread)
    }
  ],
  "nextPageToken": string
}
Champs
threads[]

object (Thread)

Liste des résumés des fils de discussion.

nextPageToken

string

Jeton pouvant être utilisé dans un appel ultérieur pour récupérer la page suivante des fils de discussion. Présent uniquement s'il y a d'autres résultats. Si le nombre de fils de discussion correspondant à la requête dépasse la limite de page_size, la réponse contient un next_page_token. Pour récupérer la page de résultats suivante, transmettez ce jeton dans le champ page_token de la requête SearchThreadsRequest suivante.

Thread

Représentation JSON
{
  "id": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
Champs
id

string

Identifiant unique du fil de discussion.

messages[]

object (Message)

Liste des messages du fil de discussion, classés par ordre chronologique.

Message

Représentation JSON
{
  "id": string,
  "snippet": string,
  "subject": string,
  "sender": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "date": string,
  "plaintextBody": string,
  "attachmentIds": [
    string
  ]
}
Champs
id

string

Identifiant unique du message.

snippet

string

Extrait du corps du message.

subject

string

Objet du message extrait des en-têtes :

sender

string

Adresse e-mail de l'expéditeur.

toRecipients[]

string

Adresses e-mail des destinataires.

ccRecipients[]

string

Adresses e-mail des destinataires en copie.

date

string

Date du message au format ISO 8601 (AAAA-MM-JJ).

plaintextBody

string

Contenu complet du corps, renseigné uniquement si MessageFormat est FULL_CONTENT.

attachmentIds[]

string

Uniquement en sortie. ID de la pièce jointe, renseigné uniquement si MessageFormat est FULL_CONTENT.

Annotations d'outil

Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌