Skip to main content
Glama
email-mcp-lite

email-mcp-lite

send_email

Compose and send email through your mailbox; set draft mode to save without sending, or use a message ID to reply or forward with quoted content and attachments.

Instructions

发送邮件;draft=True 时改为存草稿不发信。 to/cc: 地址或 '名字 <a@b>',多个用列表或逗号分隔。 回复: 传 in_reply_to=邮件id(自动设置引用头、收件人为原发件人,reply_all=True 时带上原抄送)。 转发: 传 forward_of=邮件id(自动引用原文;原附件不自动带上,可先 get_attachments 再经 attachments 发出)。 in_reply_to 与 forward_of 互斥。subject/body 留空时回复/转发场景自动补全。

Input Schema

NameRequiredDescriptionDefault
ccNo
toNo
bodyNo
draftNo
accountNo
subjectNo
reply_allNo
forward_ofNo
attachmentsNo
in_reply_toNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses that draft=True suppresses sending, that reply/forward auto-populate headers, recipients, quoting, and empty subject/body, and that original attachments are NOT copied. It omits what happens if in_reply_to and forward_of are both passed (error vs silent precedence) and says nothing about the account parameter's resolution or auth requirements.

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?

Purpose is front-loaded in the first clause, followed by tightly ordered parameter guidance, the mutual-exclusion constraint, and the auto-fill fallback. Every line carries information, though the telegraphic '。'-separated fragments are dense and would read slightly better as structured bullets.

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 10-parameter mutation tool with zero annotations, the description covers send-vs-draft semantics, reply/forward composition rules, attachment handling, and parameter conflicts. An output schema exists so return values need not be described; the remaining gap is the undocumented 'account' parameter and unstated error behavior on conflicting inputs.

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 description coverage is 0%, so the description must compensate, and it does for 9 of 10 parameters: address formats for to/cc (string, list, or 'Name <a@b>'), meaning of draft, reply_all, in_reply_to, forward_of, attachments, and the auto-fill behavior for subject/body. Only 'account' is left completely unexplained.

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?

The description opens with a specific verb+resource ('发送邮件') and immediately names its key variant behavior (draft=True stores a draft instead of sending). It also references the sibling get_attachments in the forwarding flow, so the agent can position this tool among list_accounts/search_emails/get_attachments without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use draft mode, when to pass in_reply_to versus forward_of, that the two are mutually exclusive, and that forwarding does not carry attachments automatically — instead the agent should call get_attachments first and pass results via attachments. That is a concrete when-to-use plus when-not-to-use (mutual exclusion) and an alternative-tool handoff.

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