Skip to main content
Glama

draft_send

Send an existing draft and remove it from Drafts. Requires MAIL_DRAFTS_ENABLED=true and MAIL_SMTP_WRITE_ENABLED=true. Before calling, show the user the draft's recipients, subject and body and get explicit confirmation.

Instructions

Send an existing draft and remove it from Drafts. Requires MAIL_DRAFTS_ENABLED=true and MAIL_SMTP_WRITE_ENABLED=true. Before calling, show the user the draft's recipients, subject and body and get explicit confirmation.

Input Schema

NameRequiredDescriptionDefault
draft_idYes`draft_id` of the draft to send
account_idNoAccount identifier (defaults to `"default"`)default

Output Schema

NameRequiredDescriptionDefault
dataYesTool-specific data payload
metaYesExecution metadata (timestamp, duration)
summaryYesHuman-readable summary of the operation outcome

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the operation is a send plus a destructive removal of the draft, the two feature flags that gate it, and the human-confirmation requirement. It omits what happens if SMTP delivery fails (whether the draft survives), which matters for a destructive write.

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?

Three short sentences with no waste: action first, prerequisites second, mandatory confirmation procedure last. Every sentence changes how the agent calls the tool.

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?

An output schema exists, so return values need no explanation, and the two parameters are fully documented in the schema. Prerequisites and the confirmation gate are covered; the only gap is failure/partial-failure behavior for a send that also deletes state.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, so draft_id and account_id are already documented and defaulting behavior is visible. The description adds only the implicit notion of an 'existing draft' rather than any new parameter semantics, so baseline 3 applies.

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+resource ('Send an existing draft') plus the side effect ('remove it from Drafts'), which distinguishes it from draft_create/draft_update and from smtp_send_message, which the 'existing draft' qualifier implies. An agent can route to it without opening any sibling schema.

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?

Gives explicit preconditions (MAIL_DRAFTS_ENABLED=true and MAIL_SMTP_WRITE_ENABLED=true) and a required workflow step: show the user recipients/subject/body and get explicit confirmation before calling. It does not name alternatives such as smtp_send_message for composing a new message, so sibling routing is left partly to inference.

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