Skip to main content
Glama
codefuturist

Email MCP Server

by codefuturist

Send draft

send_draft
Destructive

Send an existing draft email via SMTP and remove it from Drafts. Use list_emails with the Drafts mailbox to find the draft ID first.

Instructions

Send an existing draft email and remove it from Drafts. The draft is fetched, sent via SMTP, then deleted. Use list_emails with the Drafts mailbox to find draft IDs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesDraft email UID (from list_emails on Drafts mailbox)
accountYesAccount name from list_accounts
mailboxNoDrafts folder path (auto-detected if omitted)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.6.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.2.3

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered; the description earns credit for specifying exactly what is destroyed and in what order ('fetched, sent via SMTP, then deleted'). It omits failure semantics — e.g. whether the draft survives if the SMTP send fails — which is the one behavioral gap.

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 zero filler: what it does, the mechanism/ordering, and the discovery step. The destructive consequence is front-loaded in the first sentence rather than buried.

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 no output schema, the description carries return-value burden and it does describe the observable outcome (draft sent, then deleted). Predictable unknowns remain — failure/rollback behavior and whether a response body is returned — so it is strong but not exhaustive for a destructive, state-changing tool.

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%, so id, account and mailbox are already documented (including the '(auto-detected if omitted)' note for mailbox). The description only restates the 'draft IDs' notion and adds no format, range, or default detail beyond the schema; baseline 3 is correct.

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 email') and adds the consequential side effect ('remove it from Drafts'). The word 'existing' plus the pointer to list_emails distinguishes it from send_email (compose-new) and save_draft (create/update), so an agent can route correctly without opening other schemas.

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 an explicit prerequisite workflow ('Use list_emails with the Drafts mailbox to find draft IDs'), which is the key precondition for this tool. It does not, however, state when to prefer send_email (new message) over this one, or what happens on send failure, so it stops short of full when/when-not guidance.

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