Skip to main content
Glama
SeraFxy

netease-mail-mcp

by SeraFxy

wait_for_message

Read-only

Waits for a new email matching sender, subject, or query—such as a sign-up verification message—and returns its summary plus likely verification codes.

Instructions

Wait for a NEW message (arriving after the call starts) matching from/subject/query, e.g. a sign-up verification email. Returns the summary plus codes: likely verification codes from subject/body. Uses IDLE when available, else polling.

Input Schema

NameRequiredDescriptionDefault
fromNoSender's email address: a full address matches exactly ('noreply@github.com'), '@github.com' matches that domain and its subdomains, anything else is a substring of the address ('github'). Display names are ignored (they can be forged).
queryNoWords in From/To/Cc/Subject.
folderNoINBOX
poll_sNoPolling interval when IDLE is unavailable.
accountNoEmail address; omit for the default (first) account.
subjectNoSubject substring.
timeout_sNo≤600
lookback_sNoAlso accept messages that arrived up to this many seconds before the call (0 = only new mail).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint, so the description carries most of the burden and does well: it discloses the blocking wait, the transport strategy (IDLE when available, else polling), and what the response contains (summary plus extracted `codes`). It stops short of saying what happens when the timeout expires with no match, which matters for a call that can block up to 600s.

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, both front-loaded: the scope constraint leads, then the return shape and mechanism. No filler, and the example use case is packed into a clause rather than a paragraph.

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?

With eight parameters and no output schema, the description compensates by naming the return payload (summary plus `codes`), which is exactly the missing structured info. The only real gap is undefined timeout/no-match behavior, which an agent would want before committing to a 120s default wait.

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 coverage is 88%, so the schema already documents from/query/subject matching semantics, poll_s, account, timeout_s, and lookback_s in detail. The description only restates 'matching from/subject/query' and adds no filtering nuance of its own; baseline 3 applies when the schema does the heavy lifting.

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 plus a critical scope constraint: it waits for a NEW message arriving after the call starts, with an example use case (sign-up verification email). That scope sentence is what functionally separates it from search_messages, so an agent can pick correctly 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?

Gives clear context for when this is the right tool ('e.g. a sign-up verification email') and the 'arriving after the call starts' framing implicitly rules out using it to find existing mail. It never names search_messages or read_message as the alternative for already-delivered messages, and there are no explicit exclusions.

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