Skip to main content
Glama

Sickle — every mailbox for your agent

Get a download link for an attachment

get_attachment_download_link
Read-only

Get a one-time link to download a file attached to an email, to open or work on it with your own tools: pass the email and the attachment's part, as read_email lists it. Run the returned download command (curl) to save it, which needs the ability to run shell commands or make HTTP requests. The link works once, for a few minutes, and whoever has it can fetch the file: use it only in that command, and never put it in a message, a file or a request to anywhere else. To attach the file to a draft or an email instead, use stage_attachment_from_email.

Input Schema

NameRequiredDescriptionDefault
uidYesThe email's UID, as returned by list_emails or search_emails
partYesWhich attachment, by its `part` as read_email lists it, e.g. "2" or "3.2".
emailYesThe account the email is in.
mailboxYesMailbox/folder the email is in, e.g. "INBOX"

Output Schema

NameRequiredDescriptionDefault
sizeYesSize in bytes.
filenameYes
mime_typeYes
expires_atYesWhen the link stops working, as RFC 3339: a few minutes from now.
download_urlYesWhere to GET the file. It works once, without an Authorization header; whoever has it can fetch the file, so it goes nowhere but the command that fetches it.
download_commandYesThe command that fetches the file; replace <path> with where to save it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: the link is one-time, expires in a few minutes, is bearer-style ('whoever has it can fetch the file'), and must only be used in the returned curl command — never placed in a message, file, or other request. That security and lifetime context materially changes how an agent handles the result.

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?

Purpose is front-loaded and every sentence carries operational value (inputs, execution requirement, link lifetime, security constraint, alternative). The single dense paragraph with chained clauses makes it slightly harder to scan than it could be, but there is no filler.

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 link-minting tool with a full output schema, the description covers everything an agent needs: which inputs to source from read_email, what to do with the returned command, the execution environment required, the expiry/one-time nature, and the safe-handling rule.

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 coverage is 100%, so the baseline is 3, but the description adds workflow linkage by saying the 'part' comes from what read_email lists, reinforcing the schema's note. It does not add anything beyond that for uid/mailbox/email, so it sits just above baseline.

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?

States a specific verb and resource ('Get a one-time link to download a file attached to an email') and immediately frames the outcome ('open or work on it with your own tools'). It is clearly distinguishable from siblings like stage_attachment_from_email, which is named as the different path.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('to open or work on it with your own tools'), when-not-to-use with the named alternative ('To attach the file to a draft or an email instead, use stage_attachment_from_email'), and the prerequisite that the caller can run shell commands or make HTTP requests.

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