Skip to main content
Glama

Get a temporary download link for a report PDF

get_report_download_link
Read-only

Mint a short-lived (15 minute) direct download URL for the generated PDF of a report your account can access. Fetch the returned url with a plain GET — it carries its own authority and needs no credentials. Only works once the report has finished generating; poll get_report until report_status is "complete". Before then it returns a 409 whose error carries retry_after_seconds (wait that long before polling again) and, when rendering was rescheduled because every renderer was busy, generation_deferred_until. A 409 with code generation_failed means no PDF will be produced.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
report_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
metaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations: 15-minute expiry, credential-free GET on the returned URL, 409 behavior with retry_after_seconds and generation_deferred_until, and the terminal generation_failed code. This is unusually rich error and lifecycle disclosure that annotations cannot carry.

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?

Front-loads the core action and lifetime in the first clause, then layers usage precondition and error semantics. No filler sentences; every clause carries operational information.

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?

An output schema exists, so return values need not be explained, and the description still names the `url` field and its auth-free nature. Combined with full precondition and error-path coverage, an agent has everything needed to call this correctly.

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 0% for the single report_id parameter, so the description must compensate. It implies access scoping ('a report your account can access') but never states the expected identifier format or where report_id comes from. Baseline 3 given only one simple parameter.

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: 'Mint a short-lived (15 minute) direct download URL for the generated PDF of a report'. This is clearly distinguishable from sibling get_report (which returns status) and search_reports, since it explicitly frames itself as producing a downloadable artifact.

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?

Explicitly tells the agent when the tool is usable ('Only works once the report has finished generating') and routes to the sibling: 'poll get_report until report_status is "complete"'. It also states exactly what to do on failure (409 retry semantics).

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.