Skip to main content
Glama
ongtungduong

VMail MCP

by ongtungduong

imap_save_draft

Save an email as a draft in the Drafts folder without sending it. Use for composing messages that need later review or editing.

Instructions

Save an email as a draft in the Drafts folder (no send). Takes the same fields as imap_send_email (including account defaultBcc when configured).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipients. Either an array of addresses or a single comma-separated string.
toNoRecipient email address(es). Either an array of addresses or a single comma-separated string.
bccNoBCC recipients. Either an array of addresses or a single comma-separated string; merged with the account defaultBcc when set.
bodyNoAlias for 'text' (backward-compat)
htmlNoHTML content
textNoPlain text content
folderNoOverride the Drafts folder name (defaults to auto-detected Drafts folder)
replyToNoReply-to address
subjectNoEmail subject
accountIdNoAccount ID (from imap_list_accounts). Optional if accountName is given or only one account is configured.
inReplyToNoMessage-Id being replied to
referencesNoReferences header value(s)
accountNameNoAccount name instead of accountId. Optional if accountId is given or only one account is configured.
attachmentsNoEmail attachments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the two traits an agent most needs: the message is NOT sent and the BCC list is merged with the account defaultBcc. It says nothing about what a save returns (draft id/message-id), whether an existing draft is overwritten, or error conditions, which leaves real gaps for a write operation.

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?

Two sentences, zero filler, with the defining constraint '(no send)' front-loaded immediately after the purpose. Every clause earns its place.

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

Completeness3/5

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

For a 14-parameter write tool with no annotations and no output schema, the description covers purpose and the highest-risk behavior (no send) but is thin on everything else. Relying on 'same fields as imap_send_email' for parameter meaning and omitting any hint of the save result or overwrite semantics leaves it only minimally adequate given the schema is fully self-documenting.

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% and the param descriptions are unusually rich (attachment cid/disposition rules, accountId vs accountName fallback). The description's only added meaning is the cross-reference to imap_send_email's field set and the defaultBcc merge, so 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?

Names a specific verb and resource (save an email as a draft) and pins down the destination (Drafts folder). The parenthetical '(no send)' plus the reference to imap_send_email makes it unmistakable versus the sibling that actually sends, without opening either 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?

The '(no send)' qualifier and the pointer to imap_send_email's field set give clear context for when this tool is the right choice. It stops short of an explicit when-not/alternative sentence (e.g. 'use imap_send_email to actually deliver'), so it is strong but not fully directive.

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