Tool: create_draft
Creates a new draft email in the authenticated user's Gmail account.
This tool takes recipient addresses, a subject, and body content as inputs. It returns the ID of the created Gmail draft. If the draft is created as a reply to an existing message, the ID of the original message should be passed to the tool in the replyToMessageId field. Creating drafts with attachments is not supported yet.
The following sample demonstrate how to use curl to invoke the create_draft MCP tool.
| Curl Request |
|---|
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": "create_draft", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for CreateDraft RPC.
CreateDraftRequest
| JSON representation |
|---|
{ "to": [ string ], "cc": [ string ], "bcc": [ string ], "subject": string, "body": string, "htmlBody": string, "replyToMessageId": string } |
| Fields | |
|---|---|
to[] |
Required. The primary recipients of the email draft. Each string MUST be a valid plain email address (e.g., "user@example.com"). The "Name email@example.com" format is NOT supported by this tool. |
cc[] |
Optional. The carbon copy recipients of the email draft. Each string MUST be a valid plain email address (e.g., "user@example.com"). The "Name email@example.com" format is NOT supported by this tool. |
bcc[] |
Optional. The blind carbon copy recipients of the email draft. Each string MUST be a valid plain email address (e.g., "user@example.com"). The "Name email@example.com" format is NOT supported by this tool. |
subject |
Optional. The subject line of the email. Defaults to empty if not provided. |
body |
Optional. The main body content of the email draft. If html_body is also provided, this field is treated as the plain-text alternative. |
htmlBody |
The HTML content of the email draft. If provided, this will be used as the rich-text version of the email. |
replyToMessageId |
Optional. The ID of the message to reply to. If provided, this will be used as the reply-to message ID for the email draft, and the |
Output Schema
Details of a draft.
Draft
| JSON representation |
|---|
{ "id": string, "subject": string, "threadId": string, "toRecipients": [ string ], "ccRecipients": [ string ], "bccRecipients": [ string ], "plaintextBody": string, "date": string } |
| Fields | |
|---|---|
id |
The unique identifier of the draft resource. |
subject |
The subject line of the draft message. |
threadId |
The ID of the thread this draft belongs to. |
toRecipients[] |
List of 'To' recipient email addresses extracted from headers. |
ccRecipients[] |
List of 'Cc' recipient email addresses extracted from headers. |
bccRecipients[] |
List of 'Bcc' recipient email addresses extracted from headers. |
plaintextBody |
Plain text body content, if available. |
date |
Date of the draft in ISO 8601 format (YYYY-MM-DD). |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌