Skip to main content
Glama

Download Email Attachment

download_email_attachment
Destructive

[read] One attachment (email_attachment_id or email_attachment_uuid) as base64 (email_attachment_content_base64, max 5 MiB). Attachments of SPAM messages are blocked.

Input Schema

NameRequiredDescriptionDefault
email_attachment_idNo
email_attachment_uuidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior1/5

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

The description prefixes the tool with '[read]', while the annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. The two signals point in opposite directions, so the agent gets conflicting guidance on whether this is a safe retrieval or a state-changing operation. The max-size and SPAM-block notes don't offset that contradiction.

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?

One sentence, front-loaded with the operation type and the resource, with the size limit and SPAM restriction appended where they belong. No filler.

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

Completeness3/5

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

With no output schema it correctly names the returned field and the 5 MiB ceiling, which is the core information an agent needs. But it never resolves the read-versus-destructive ambiguity that the annotations introduce, and it omits error behavior for missing attachments or SPAM blocks.

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?

Schema description coverage is 0%, so the description has to carry the parameter semantics, and it does: it names both `email_attachment_id` and `email_attachment_uuid` and the 'or' phrasing conveys they are alternative identifiers for the same attachment. It does not state whether one is required or what happens if both or neither are supplied (both are optional in the schema), which is a real gap.

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?

Names a specific verb+resource: fetch one attachment as base64. It also clarifies the identifier choice (id or uuid) and the payload key, so the agent knows exactly what comes back. It stops short of differentiating from sibling readers like get_email_message or list_email_messages, which is the only reason it isn't a 5.

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?

Usage is implied rather than stated: an agent infers you call this when you need the raw content of a specific attachment. It adds useful constraints (5 MiB cap, SPAM message attachments are blocked) but never says when to prefer this over get_email_message or how to discover attachment IDs in the first place.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources