Skip to main content
Glama

Download links

render_download
Read-onlyIdempotent

Get the download links of a job (no key needed, valid about 24 hours; call again for fresh links while the files are kept, 24 h after last use or 7 days, normally, for paid keys) and show them to the user; in a terminal, fetch them with curl -o. A finished preview also comes back as an inline image. wait_seconds > 0 first waits for the job (the service waits at most 50 s per call; call again while it is still running). only picks the files: 'output' (default: the MP4 or the preview sheet, plus the first frames), 'mp4', 'sheet', 'frames' or 'all'.

Input Schema

NameRequiredDescriptionDefault
onlyNo'all' (every frame plus output.mp4 / sheet.png) | 'mp4' | 'frames' | 'sheet' | 'output' (the MP4 or the sheet only).output
job_idYesThe job_id returned by render_preview or render_final (j_...; a long final split into parts is b_...). Only this key's jobs; in render_status, leave it empty to list them.
wait_secondsNoWait for the job to finish before returning the links (0 = do not wait). The service waits at most 50 s per call; call again while the job is still running.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / job_id / description
      Previous value: -"The job_id returned by render_preview or render_final (j_...; a long final split into parts is b_...). Only this key's jobs."New value: +"The job_id returned by render_preview or render_final (j_...; a long final split into parts is b_...). Only this key's jobs; in render_status, leave it empty to list them."
  2. Changed1 schema field changed
    • changedInput schema / properties / job_id / description
      Previous value: -"The job_id returned by render_preview or render_final (looks like j_...)."New value: +"The job_id returned by render_preview or render_final (j_...; a long final split into parts is b_...). Only this key's jobs."
  3. Changed3 schema fields changed
    • addedInput schema / properties / job_id / description
      Added value: +"The job_id returned by render_preview or render_final (looks like j_...)."
    • addedInput schema / properties / only / description
      Added value: +"'all' (every frame plus output.mp4 / sheet.png) | 'mp4' | 'frames' | 'sheet' | 'output' (the MP4 or the sheet only)."
    • addedInput schema / properties / wait_seconds / description
      Added value: +"Wait for the job to finish before returning the links (0 = do not wait). The service waits at most 50 s per call; call again while the job is still running."
  4. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: links need no key and last ~24 h, files are retained 24 h after last use or normally 7 days for paid keys, the service waits at most 50 s per call, and a finished preview returns as an inline image. This is exactly the beyond-schema behavior an agent needs and is consistent with readOnly/idempotent hints.

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?

Front-loads the core purpose and packs the retention, waiting and file-selection detail into one dense paragraph. It is a run-on sentence, but nearly every clause earns its place and nothing is padded.

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?

With no output schema, the description does the work of describing the return (links plus an inline preview image) and the terminal curl workflow, so an agent knows what to expect. Minor gaps remain around formatting of the returned links, but the tool is adequately specified.

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 coverage is already 100%, so 'only', 'job_id' and 'wait_seconds' are fully documented structurally. The description restates the 'only' options and the 50 s wait cap, adding the retention/expiry nuance but little parameter syntax the schema lacks; baseline 3 is appropriate.

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+resource ('Get the download links of a job') and immediately scopes it (links, not job status or rendering). It is clearly distinguishable from siblings like render_status (which lists jobs) and render_preview/render_final (which create jobs).

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?

Gives clear when-to-use context: call after a job exists, call again for fresh links once they expire, and set wait_seconds > 0 to block. It does not explicitly name an alternative tool for cases where the job is not yet done, but the wait/call-again guidance effectively routes the agent.

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.