Skip to main content
Glama
SeraFxy

netease-mail-mcp

by SeraFxy

send_email

Destructive

Sends email via SMTP only after a preview and explicit confirmation, preventing accidental delivery; also supports sending a saved draft unchanged.

Instructions

Send an email via SMTP (same arguments as create_draft, or draft_id to send a saved draft). Two-phase: the first call returns a full preview and asks the human (MCP elicitation) or returns confirmation_token; call again with the token ONLY after the user explicitly approves. Any change to recipients/subject/body/attachments → rejected.

Input Schema

NameRequiredDescriptionDefault
ccNoAddresses: "a@x.com, Name <b@y.com>" or a list.
toNoAddresses: "a@x.com, Name <b@y.com>" or a list.
bccNoAddresses: "a@x.com, Name <b@y.com>" or a list.
bodyNo
accountNoEmail address; omit for the default (first) account.
subjectNo
draft_idNoSend this draft exactly as saved (other content arguments must be omitted).
html_bodyNo
reply_allNo
forward_idNo
attachmentsNo
reply_to_idNo
forward_modeNoinline
quote_originalNo
confirmation_tokenNoFrom the preview response, after the user approved.
delete_draft_after_sendNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Adds rich behavior beyond annotations: the elicitation/preview flow, the confirmation_token requirement, and the rule that any change to recipients/subject/body/attachments causes rejection. This tells the agent exactly how the destructive send is gated, which annotations alone do not convey.

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 tightly packed sentences, front-loaded with purpose then the two-phase protocol. No filler; each clause conveys actionable constraint.

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?

The critical send-safety workflow is complete, but with 16 params, no output schema, and a sparse preview description ("full preview" unexplained), the definition leaves gaps around the reply/forward parameter family and what the preview response contains.

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

Parameters2/5

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

With 16 parameters at 38% schema coverage, the description should carry the load, but it only says "same arguments as create_draft." It never clarifies reply_to_id/reply_all, forward_id/forward_mode, quote_original, or delete_draft_after_send, leaving the majority of params undocumented in both schema and description.

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 email via SMTP") and immediately distinguishes the two modes (compose with create_draft's arguments, or draft_id). It also names the sibling create_draft, so an agent can route correctly.

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?

Explicitly explains the two-phase call protocol: first call returns a preview/elicitation, second call uses confirmation_token only after explicit user approval. It lacks a crisp "use create_draft instead when you only want to save," but the reference to create_draft and the approval flow give strong usage context.

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