Skip to main content
Glama
SeraFxy

netease-mail-mcp

by SeraFxy

create_draft

Save an email as a draft without sending it, so you can review it in your mail app before sending. Supports replies and forwards.

Instructions

Save an email to Drafts (草稿箱) without sending; the user can review it in their mail app. Supports replies (reply_to_id, reply_all: Re: subject, In-Reply-To/References, recipients from the original) and forwards (forward_id). Returns draft_id + preview.

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.
bodyNoPlain-text body.
accountNoEmail address; omit for the default (first) account.
subjectNoDefaults to Re:/Fwd: original.
html_bodyNoOptional HTML alternative.
reply_allNo
forward_idNoForward this message.
attachmentsNoAbsolute local file paths (≤10, ≤20 MB total). Hidden files under home, ~/Library (iCloud Drive and cloud drives excepted), %APPDATA%, /etc and similar are refused; NETEASE_MAIL_ATTACHMENT_ROOTS can restrict further.
reply_to_idNoReply to this message (sets threading headers).
forward_modeNoinline
quote_originalNoQuote the original in replies.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds real value beyond that: the message lands in Drafts rather than being delivered, the return is draft_id + preview, and replies get threading headers (In-Reply-To/References) and inherited recipients. It does not mention that repeated calls create separate drafts, though the non-idempotent annotation already signals that.

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?

The core action and its non-sending nature are front-loaded in the first clause, with the reply/forward specifics in a compact second sentence. The parenthetical Chinese folder name is a minor extra but earns its place for locale-aware matching.

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?

For a 13-parameter, zero-required tool with no output schema, the description covers the essential behavior and return value (draft_id + preview) and explains the two non-obvious parameter clusters. Attachment restrictions and account defaults live in the schema, so nothing critical 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 coverage is 85%, so the baseline is 3, but the description goes further by explaining what reply_to_id and forward_id actually trigger: Re: subject, threading headers, recipients pulled from the original, and forward modes. That is meaning the schema's short param descriptions do not carry.

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 ('Save an email to Drafts') plus the crucial scope qualifier 'without sending', which cleanly separates it from the send_email sibling. It also enumerates the two composition modes (reply, forward) so the agent knows the tool's full surface.

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?

Clearly indicates the use case — when the user should review before sending — and the reply/forward conditions that select the respective parameters. It never explicitly names send_email as the alternative for immediate delivery, so routing is implied rather than stated.

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