Skip to main content
Glama
Wh1isper

MCP Email Server

email_command

Destructive

Execute IMAP or SMTP primitives when a focused email tool does not cover the operation. Existing tools, including create_mailbox, remain the simpler policy-aware route.

Instructions

Execute IMAP or SMTP primitives when a focused email tool does not cover the operation. Existing tools, including create_mailbox, remain the simpler policy-aware route. Start with commands=[{"command":"HELP"}] or HELP UID COPY for local syntax and examples; no account is needed for help. Execution requires account_name and user-enabled allow_protocol_commands with compatible policy. Commands run in order on one automatically authenticated connection; state lasts only for this call. For example SELECT a mailbox, then UID COPY known UIDs to an existing destination. Put APPEND/DATA message content in data, never in command lines. No login commands, passwords, hosts, shell scripts or local paths. Stops on the first error. Inspect every result: prior effects may exist and unknown completion must not be replayed automatically. HELP lists supported syntax; server CAPABILITY alone does not imply client support for arbitrary extensions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandsYes
protocolNoimap
account_nameNoConfigured account name; required for execution, omitted for local HELP.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
statusNostopped
resultsNo
warningsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.13.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive/openWorld/not-idempotent, and the description adds substantial context: commands run in order on one auto-authenticated connection, state lasts only for the call, execution stops on the first error, prior effects may exist so unknown completion must not be replayed, and login commands/passwords/hosts/shell scripts/local paths are forbidden. This is well beyond what the annotations convey.

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?

Front-loaded with purpose and routing, then builds to operational rules. It is dense and reads as a single long block of clauses rather than clearly separated points, but every sentence carries a distinct rule or constraint with little waste.

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

Completeness5/5

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

For a destructive, open-world raw-protocol escape hatch with an output schema present, the description covers auth requirements, state lifetime, error behavior, safe-retry guidance, and syntax discovery. Nothing an agent needs to invoke it safely appears to be 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?

The schema already describes command (one untagged line, no CR/LF), data (APPEND/DATA content only), and account_name (required for execution, omitted for HELP). The description still adds value by explaining ordering semantics, that message content belongs in data not command lines, and the account requirement context. Marginal but real addition on top of a fairly descriptive schema.

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 (execute) and resource (IMAP or SMTP primitives) plus its role as a fallback: 'when a focused email tool does not cover the operation.' It explicitly names a sibling (create_mailbox) and positions generic tools as the simpler policy-aware route, so an agent can distinguish it from the focused email tools without opening a 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?

Gives explicit when-to-use (only when a focused tool does not cover the operation), names the preferred alternatives (existing tools including create_mailbox), and states the starting point (commands=[{"command":"HELP"}] or HELP UID COPY). It also distinguishes help mode (no account needed) from execution mode (account_name plus allow_protocol_commands required).

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