Skip to main content
Glama

gmail_create_draft

Idempotent

Compose and save a Gmail draft for later sending, specifying recipient, subject, body, and optional cc/bcc. Include a reply-to message ID to thread the draft into an existing conversation.

Instructions

Write a draft. It waits in the mailbox until a person sends it.

Passing reply_to_message_id threads the draft onto that message and sets the reply headers, so it appears in the conversation rather than as a new one.

Args: to: Recipient address, or several separated by commas. subject: Subject line. body: Plain text body. cc: Carbon copy addresses. bcc: Blind carbon copy addresses. reply_to_message_id: Message this replies to.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNo
toYes
bccNo
bodyYes
subjectYes
reply_to_message_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the key lifecycle behavior that the draft is not sent and remains in the mailbox, which goes beyond the annotations. It also explains that reply_to_message_id sets reply headers and makes the draft appear in the existing conversation. There is no contradiction with the annotations, and it adds useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: two short behavioral sentences followed by a scannable Args list. Every sentence adds useful information, and there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering side-effect class, the description provides what an agent needs to invoke the tool: all required and optional parameters are described, and the non-sending behavior is clear. It would be slightly stronger if it explicitly pointed to gmail_send_draft for the follow-up sending step, but this omission does not block correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the Args section carries the full burden. The description covers all six parameters and adds practical meaning: 'to' can be a comma-separated list, 'body' is plain text, and 'reply_to_message_id' threads the draft. A few entries are minimal, but overall the parameter guidance is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear action, 'Write a draft,' and immediately states the defining behavior: 'It waits in the mailbox until a person sends it.' This distinguishes the tool from sending tools like gmail_send_message and gmail_send_draft, and clarifies that it creates an unsent message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'It waits in the mailbox until a person sends it' clearly communicates the main use case: prepare a message but do not send it yet. The extra explanation about reply_to_message_id explains when to use that parameter to reply in an existing conversation. However, it does not explicitly name alternatives such as gmail_send_draft or gmail_update_draft or give when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rollecode/gmail-second-account-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server