MCP Tools Reference: gmailmcp.googleapis.com

Outil : create_draft

Crée un brouillon dans le compte Gmail de l'utilisateur authentifié.

Cet outil prend en entrée les adresses des destinataires, un objet et le contenu du corps du message. Si le brouillon est créé en réponse à un message existant, l'ID du message d'origine doit être transmis à l'outil dans le champ "replyToMessageId".

Renvoie uniquement l'ID unique (id) du brouillon.

Limitation : Il n'est pas encore possible de créer des brouillons avec des pièces jointes.

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

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": "create_draft",
    "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 CreateDraft.

CreateDraftRequest

Représentation JSON
{
  "to": [
    string
  ],
  "cc": [
    string
  ],
  "bcc": [
    string
  ],
  "subject": string,
  "body": string,
  "htmlBody": string,
  "replyToMessageId": string,
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
Champs
to[]

string

Facultatif. Destinataires principaux du brouillon d'e-mail. Chaque chaîne DOIT être une adresse e-mail simple et valide (par exemple, "user@example.com"). Le format "Nom email@example.com" n'est PAS compatible avec cet outil.

cc[]

string

Facultatif. Destinataires en copie carbone du brouillon d'e-mail. Chaque chaîne DOIT être une adresse e-mail simple et valide (par exemple, "user@example.com"). Le format "Nom email@example.com" n'est PAS compatible avec cet outil.

bcc[]

string

Facultatif. Destinataires en copie cachée du brouillon d'e-mail. Chaque chaîne DOIT être une adresse e-mail simple et valide (par exemple, "user@example.com"). Le format "Nom email@example.com" n'est PAS compatible avec cet outil.

subject

string

Facultatif. Objet de l'e-mail. Si aucune valeur n'est indiquée, cet attribut est défini par défaut sur une chaîne vide.

body

string

Facultatif. Contenu principal du corps de l'e-mail. Si html_body est également fourni, ce champ est traité comme l'alternative en texte brut.

htmlBody

string

Contenu HTML du brouillon d'e-mail. Si elle est fournie, elle sera utilisée comme version en texte enrichi de l'e-mail.

replyToMessageId

string

Facultatif. ID du message auquel répondre. Si elle est fournie, elle sera utilisée comme ID du message de réponse pour le brouillon d'e-mail, et les body et html_body seront ajoutés au corps du message d'origine.

attachments[]

object (Attachment)

Facultatif. Pièces jointes à inclure dans l'e-mail. La taille combinée des pièces jointes du message ne doit pas dépasser 25 Mo. Si vous devez envoyer des fichiers de plus de 25 Mo, importez-les d'abord dans Drive, puis insérez le lien Drive dans le corps ou html_body.

Pièce jointe

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

string

Facultatif. Uniquement en sortie. Lorsqu'il est présent, il contient l'ID d'une pièce jointe externe qui peut être récupérée dans une requête GetMessageAttachment distincte.

filename

string

Facultatif. Nom du fichier à joindre, par exemple "facture.pdf". Pour les pièces jointes intégrées, cette valeur est utilisée pour générer un Content-ID. Pour les pièces jointes classiques, le nom de fichier est utilisé pour spécifier le nom de fichier aux clients de messagerie. Si aucun nom n'est fourni, la pièce jointe peut être reçue sans nom.

mimeType

string

Facultatif. Le champ représentant un type de contenu ou de média doit utiliser le type MIME IANA, https://www.iana.org/assignments/media-types/media-types.xhtml. Si aucune valeur n'est fournie, la valeur par défaut est "application/octet-stream".

content

string (bytes format)

Obligatoire. Contenu de la pièce jointe encodé en base64.

Chaîne encodée en base64.

inline

boolean

Facultatif. Si la valeur est "true", la pièce jointe est traitée comme un élément intégré. Une pièce jointe intégrée est un contenu destiné à être affiché dans le corps d'un e-mail HTML, plutôt que d'être listé en tant que fichier distinct à télécharger. Si la valeur est "false" ou si l'attribut est absent, la valeur par défaut est "false" et l'élément est traité comme une pièce jointe standard.

Schéma de sortie

Détails d'un brouillon.

Brouillon

Représentation JSON
{
  "id": string,
  "subject": string,
  "threadId": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "bccRecipients": [
    string
  ],
  "plaintextBody": string,
  "date": string,
  "htmlBody": string
}
Champs
id

string

Identifiant unique de la ressource brouillon.

subject

string

Objet du brouillon.

threadId

string

ID du thread auquel appartient ce brouillon.

toRecipients[]

string

Liste des adresses e-mail des destinataires "À" extraites des en-têtes.

ccRecipients[]

string

Liste des adresses e-mail des destinataires en copie Cc extraites des en-têtes.

bccRecipients[]

string

Liste des adresses e-mail des destinataires en copie cachée extraites des en-têtes.

plaintextBody

string

Contenu du corps en texte brut, le cas échéant.

date

string

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

htmlBody

string

Contenu HTML du corps du brouillon, le cas échéant.

Annotations d'outils

Indication de destruction : ❌ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ❌

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.compose