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 ( |
| Champs | |
|---|---|
to[] |
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[] |
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[] |
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 |
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 |
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 |
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 |
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 |
attachments[] |
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 |
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 |
filename |
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 |
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 |
Obligatoire. Contenu de la pièce jointe encodé en base64. Chaîne encodée en base64. |
inline |
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 |
Identifiant unique de la ressource brouillon. |
subject |
Objet du brouillon. |
threadId |
ID du thread auquel appartient ce brouillon. |
toRecipients[] |
Liste des adresses e-mail des destinataires "À" extraites des en-têtes. |
ccRecipients[] |
Liste des adresses e-mail des destinataires en copie Cc extraites des en-têtes. |
bccRecipients[] |
Liste des adresses e-mail des destinataires en copie cachée extraites des en-têtes. |
plaintextBody |
Contenu du corps en texte brut, le cas échéant. |
date |
Date du brouillon au format ISO 8601 (AAAA-MM-JJ). |
htmlBody |
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.modifyhttps://www.googleapis.com/auth/gmail.compose