Skip to main content
Glama

mail_body

Read-only

Reads the full plaintext body of one email by message ID, with optional mailbox disambiguation, and resolves stored IDs even after the message was filed or moved.

Instructions

Full plaintext body of one message by id (bounded + truncation-marked).

id is a message-id from mail/mail_search — or from a note written months ago: an id resolves ON ITS OWN, so a stored citation still works after the message was filed or moved. mailbox is OPTIONAL and is the disambiguator: pass the folder value from the SAME search result back VERBATIM — it is an opaque round-trip token (imap://<uuid>/<path>), not a folder name to retype — or one of the five canonical names ("inbox"/"sent"/"drafts"/"trash"/"junk"). With it the read is Automation-only and an id absent from that mailbox raises; without it the id is resolved through Mail's index (Full Disk Access) to the same copy every other read cites. Read-only.

Input Schema

NameRequiredDescriptionDefault
idYes
mailboxNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.15.1

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the readOnly/destructive annotations: bounded and truncation-marked output, id resolution independent of mailbox, Automation-only path with mailbox, and index/Full Disk Access fallback without it. These details give the agent a clear behavioral model without contradicting the annotations.

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-loads the purpose and then parameter rules, with no obvious fluff. It is dense and longer than typical, but the length is largely justified by the zero schema coverage; minor tightening is possible.

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?

With an output schema present, the description appropriately focuses on input semantics and behavior. It covers id sourcing, mailbox token handling, error behavior, and access paths, leaving little needed before invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does so: id is a message-id that resolves on its own, and mailbox is an optional disambiguator that must be passed verbatim as an opaque imap:// token or canonical name. It also explains the consequence of including or omitting mailbox.

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?

Opens with a specific verb and resource ('Full plaintext body of one message by id') and adds scope ('bounded + truncation-marked'). It does not explicitly differentiate from sibling body tools such as mail_bodies or message_body, so the one-message-vs-many distinction is left implicit.

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?

Explains where the id comes from (mail/mail_search, stored citations) and the two modes for the optional mailbox parameter, including that an id absent from the mailbox raises. It lacks an explicit comparison to sibling tools, so it stops short of full when-to-use guidance.

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