Skip to main content
Glama
yarenty

emperor-mail

read_message

Read-only

Reads a single email message by UID, returning headers, plain-text body, and attachment list; leaves it unread unless mark_read is true.

Instructions

Read one message: headers, plain-text body (HTML converted) and the attachment list (index, name, type, size). Leaves the message unread unless mark_read is true.

Input Schema

NameRequiredDescriptionDefault
uidYesUID from search.
folderNoFolder holding the message (default INBOX).
mark_readNoSet the message's read flag (default false: reading leaves it unread).
max_charsNoMost body characters to return (default 20000, at most 200000).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

C2.9/5.0
Behavior1/5

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

The annotations declare readOnlyHint=true, but the description and schema state that mark_read=true sets the message's read flag, which is a state mutation. This directly contradicts the read-only annotation, even though the default behavior leaves the message unread.

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?

The description is a single well-structured sentence with the core action and returned data front-loaded. Every clause adds useful information without excess.

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 low-complexity read tool, the description adequately explains what is returned and the default mark_read behavior. It omits some edge details such as truncation and error cases, but those are partly covered by the schema.

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 description coverage is 100%, so parameter meanings are already documented. The description adds some context about mark_read's default effect and the returned body/attachment structure, but it does not add parameter-level detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: read one message, and it enumerates the returned content: headers, converted body, and attachment list. It is clear but does not explicitly distinguish itself from sibling tools such as read_attachment or search.

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

Usage Guidelines2/5

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

The description does not say when to use this tool versus search, read_attachment, or other siblings. The schema mentions that uid comes from search, but the description itself provides no explicit usage context or exclusions.

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