MCP Tools Reference: gmailmcp.googleapis.com

Outil : get_message

Récupère un e-mail spécifique du compte Gmail de l'utilisateur authentifié à l'aide de son ID de message unique.

Utilisez cet outil pour inspecter un seul e-mail lorsque vous connaissez déjà son ID de message. Si l'utilisateur souhaite lire un e-mail spécifique en détail, vérifier le libellé exact d'un message ou examiner les métadonnées d'une pièce jointe pour un seul e-mail, cet outil est le bon. Il ne convient pas pour récupérer des conversations entières ni pour afficher des fils de discussion ; utilisez plutôt l'outil "get_thread". Les indicateurs clés incluent le fait que l'utilisateur demande le contenu complet d'un ID de message spécifique renvoyé par une recherche précédente, ou que la requête demande à inspecter un e-mail individuel spécifique plutôt qu'un fil de discussion entier. Voici quelques exemples d'invites utilisateur : "Obtenir le texte intégral de l'ID de message 18f123456789abcd.", "Lire le dernier message de ce fil de discussion d'Alice." et "Quels sont les noms des pièces jointes de l'e-mail que je viens de recevoir des ressources humaines ?"

Le paramètre facultatif messageFormat contrôle le format du message renvoyé. Par défaut (ou avec FULL_CONTENT), il renvoie le contenu complet du message. Utilisez MINIMAL pour n'inclure que l'objet et l'extrait (à l'exclusion du corps). Utilisez METADATA_ONLY pour n'inclure que les métadonnées de base (ID de message, ID de fil de discussion, libellés, horodatage et estimation de la taille).

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

Requête 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": "get_message",
    "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 GetMessage.

GetMessageRequest

Représentation JSON
{
  "messageId": string,
  "messageFormat": enum (MessageFormat)
}
Champs
messageId

string

Obligatoire. Identifiant unique du message à récupérer.

messageFormat

enum (MessageFormat)

Facultatif. Spécifie le format du message renvoyé. La valeur par défaut est FULL_CONTENT.

MessageFormat

Enum permettant de contrôler le niveau de détail des messages dans le fil de discussion.

Enums
MESSAGE_FORMAT_UNSPECIFIED La valeur par défaut est FULL_CONTENT.
MINIMAL Renvoie des extraits de message et des en-têtes clés (Objet, De, À, Cc, Date).
FULL_CONTENT Renvoie toutes les informations de "MINIMAL" ainsi que le contenu complet du corps de chaque message.
METADATA_ONLY Métadonnées uniquement : n'inclut pas l'objet, l'extrait, le corps ni les noms de fichiers des pièces jointes.

Schéma de sortie

Message dans un fil de discussion.

Message

Représentation JSON
{
  "id": string,
  "snippet": string,
  "subject": string,
  "sender": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "date": string,
  "plaintextBody": string,
  "attachmentIds": [
    string
  ],
  "htmlBody": string,
  "attachments": [
    {
      object (AttachmentMetadata)
    }
  ],
  "labelIds": [
    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 était FULL_CONTENT.

attachmentIds[]

string

Uniquement en sortie. ID des pièces jointes, renseigné uniquement si MessageFormat était FULL_CONTENT.

htmlBody

string

Contenu HTML de l'e-mail, renseigné uniquement si MessageFormat était FULL_CONTENT.

attachments[]

object (AttachmentMetadata)

Uniquement en sortie. Pièces jointes, renseignées uniquement si MessageFormat était FULL_CONTENT.

labelIds[]

string

ID des libellés associés au message. Inclut les ID des libellés utilisateur et des libellés système standards limités à INBOX, SPAM, TRASH, UNREAD, STARRED, IMPORTANT, SENT, DRAFT et CHAT.

AttachmentMetadata

Représentation JSON
{
  "id": string,
  "mimeType": string,
  "filename": string
}
Champs
id

string

Uniquement en sortie. ID de la pièce jointe.

mimeType

string

Type MIME de la pièce jointe.

filename

string

Nom de fichier de la pièce jointe.

Annotations d'outil

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

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/gmail.metadata