Skip to main content
Glama

save_draft

Save an email as a draft in the mailbox's Drafts folder instead of sending it, so the user can review, edit, and send it later from their mail app.

Instructions

Save an email as a draft instead of sending it: it is saved on the mail provider's server, in the mailbox's Drafts folder, where it stays until the user sends or deletes it. Use it when the user wants to read, change and send the mail themselves (from their mail app, webmail or the GigaMail console), or asks for a draft. On IMAP accounts a mail app set up with POP does not show it, since POP reads only the inbox. Sends nothing, so it runs at once without approval and is written to the audit log. Attachments are not saved with drafts: name them in the body or use send_mail / reply_mail. Returns {success, draft_id, in_mailbox, folder, error}: in_mailbox false means the draft is kept in GigaMail (visible in the console) but the copy to the mailbox failed, with the reason in error.

Input Schema

NameRequiredDescriptionDefault
ccNoCC addresses.
toNoRecipient address(es), comma-separated. Ignored with reply_to_message_id: a reply draft goes to the From address of the original message.
bccNoBCC addresses.
bodyYesPlain-text body. The account signature, if the user set one, is appended: do not write it yourself.
folderNoFolder of the message in reply_to_message_id (IMAP only; default inbox).inbox
subjectNoSubject line. With reply_to_message_id it is set from the original ('Re: ...') when left empty.
account_idNoAccount to operate on (integer id from list_accounts). Omit or null = the user's active account.
reply_to_message_idNoMessage id (as returned by list_messages / search_mail) when the draft answers that message. Same fixed addressing as reply_mail: never Reply-To, never an address written in the body.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.7

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered and the bar is lower. The description still adds real behavior: the draft lives on the server in Drafts until sent or deleted, nothing is sent so it runs without approval, the action is audit-logged, and a partial-failure mode exists (in_mailbox=false with the reason in error). It does not state whether re-saving overwrites an existing draft_id, which matters for a tool whose annotations mark it non-idempotent.

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

Conciseness4/5

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

Front-loaded with purpose, then usage, then caveats, then return shape – a sensible order with little waste. It runs slightly long and the awkward line breaks bury the audit-log note mid-sentence, but every clause carries information an agent would otherwise have to guess.

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

Completeness5/5

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

There is no output schema, and the description compensates by spelling out the return object {success, draft_id, in_mailbox, folder, error} and interpreting the one ambiguous field. Combined with the IMAP/POP caveat and the no-attachments limitation, nothing an agent needs to call this correctly is missing.

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 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema does not: drafts carry no attachments at all (so no attachment parameter is offered), and reply drafts address the original sender rather than Reply-To or any address written in the body.

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?

States a specific verb and resource plus the crucial distinction: 'Save an email as a draft instead of sending it', and immediately locates it on the provider's server in the Drafts folder. An agent can tell this apart from send_mail/reply_mail without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit when-to-use condition ('the user wants to read, change and send the mail themselves... or asks for a draft') and names alternatives for the cases it does not cover ('Attachments are not saved with drafts... use send_mail / reply_mail'). It also flags a platform edge case: on IMAP accounts a POP-configured mail app will not show the draft.

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