Skip to main content
Glama
WEYERSK

IMAP MCP

by WEYERSK

get_message

Retrieve a single email by its UID, returning headers, text body, and attachment metadata, with long bodies truncated and flagged. Optionally mark messages as read.

Instructions

Fetch one message by uid: headers, body as text, and the list of attachments (names and sizes, not their content). Long bodies are truncated at max_chars and flagged as such. The message stays unread unless mark_seen=True.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidNo
folderNoINBOX
accountNo
mark_seenNo
max_charsNo
include_htmlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does it well: it discloses the side effect ('stays unread unless mark_seen=True'), truncation at max_chars with a flag, and the exclusion of attachment content. It could add error behavior or response-shape details, but this is already substantial.

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?

Three sentences with no filler: the core output is front-loaded, and each following sentence adds a distinct behavioral fact. It is compact yet complete enough for an agent to understand the tool.

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 6-parameter tool with no output schema and no annotations, the description does a strong job covering return composition and side effects. Remaining gaps are folder/account selection semantics, include_html behavior, and how the truncation flag is represented in the result.

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?

The description adds meaning to uid, max_chars, and mark_seen, which is helpful given 0% schema description coverage. However, folder, account, and include_html receive no explanation beyond their parameter names and defaults, leaving a meaningful gap.

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 names the exact operation ('Fetch one message by uid') and enumerates the return payload: headers, body as text, and attachment names/sizes. It also disambiguates from attachment retrieval by explicitly stating the content is not included.

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

Usage Guidelines3/5

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

The intended use case is implied: use this when you have a message uid and need a single message's contents. It does not explicitly route away from sibling tools like search_messages when no uid is available or get_attachment when attachment bytes are needed.

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