Skip to main content
Glama
MadLlama25

Fastmail MCP Server

by MadLlama25

download_attachment

Download an email attachment by ID, receiving either a direct download URL or a saved file path with size.

Instructions

Download an email attachment. If savePath is provided, saves the file to disk and returns the file path and size. Otherwise returns a download URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailIdYesID of the email
savePathNoFile path to save the attachment to. May be absolute or relative; relative paths resolve against ~/Downloads/fastmail-mcp/ (configurable via FASTMAIL_DOWNLOAD_DIR), so a bare filename lands there in one step. Absolute paths must fall within that directory; traversal or symlink escape outside it is rejected for security. To save directly into your own location, set FASTMAIL_DOWNLOAD_DIR to that root. Parent directories will be created automatically.
attachmentIdYesID of the attachment
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool may write to disk (if savePath provided) or return a URL, and mentions security constraints on paths. This is good transparency for a download operation.

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?

Two concise sentences with no wasted words. The most important information (download action) is front-loaded, and operational nuances are efficiently presented.

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?

The description covers the two primary workflows, return values, and security constraints. It is absent of output schema but sufficiently explains outputs. Minor omission: no mention of maximum file size or supported formats.

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?

Although schema coverage is 100% (baseline 3), the description adds value by explaining the behavioral difference between providing savePath or not, beyond what the schema parameter descriptions cover.

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 starts with the clear verb+resource 'Download an email attachment,' and distinguishes the two behaviors based on savePath. This clearly sets it apart from sibling tools like get_email_attachments, which lists attachments.

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 description implicitly states when to use the tool: to download an attachment. It does not explicitly exclude alternative tools, but the context is clear. It could be improved by noting that this is for downloading, not listing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadLlama25/fastmail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server