Skip to main content
Glama
bgalmes

rubit-mcp-mail

by bgalmes

get_attachment

Read-only

Download an email attachment to the configured download directory using the message handle and attachment part ID, then receive the saved file path without altering the mailbox.

Instructions

Download one attachment into the configured download directory.

Returns the path it was saved to. Files are only ever written inside that one directory; the mailbox itself is not modified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handleYesA handle from list_messages or search_messages.
accountNoAccount name. Optional when only one is configured.
part_idYesThe `part_id` from read_message's attachments.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnly/destructive annotations, the description adds a meaningful side-effect boundary: files are only ever written inside the configured download directory and the mailbox is not modified. It also discloses that the saved path is returned, though it does not cover overwrite or failure behavior.

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 short sentences lead with the action, state the return value, and then give a safety constraint. No filler or repetition of schema content.

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?

For a single-file download with only three parameters, an output schema, and safety annotations, the description plus schema is complete. It covers the destination, return value, and non-mutation guarantee.

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 meaning is fully carried by the schema. The description adds no separate parameter detail, which matches the baseline: 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?

The description opens with a specific verb and resource: 'Download one attachment into the configured download directory.' This clearly distinguishes it from sibling listing/reading tools and states the output (saved path).

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?

The operation is clear enough that an agent knows to call it when an attachment from a message is needed, and the schema ties `part_id` to `read_message`, giving context. However, the description itself names no alternative or explicit when-not-to-use condition, so it stops just short of full routing guidance.

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