Skip to main content
Glama

getJobResultFileContent

Read-only

Downloads a result file from a finished asynchronous job after getJob confirms completion, returning images or text directly and other formats as embedded base64; files over 20 MB are refused.

Instructions

Downloads one result file produced by a finished asynchronous job (e.g. the spreadsheet from getExportExcelTests). Images (PNG, JPEG, GIF, WebP) come back as image content, UTF-8 text files as text, and any other file (PDF, Office, ZIP) as an embedded base64 resource; files over 20 MB are refused. Call it only after getJob reports the job as finished; the job resource lists the available file names. For the job's log instead of its output, use getJobLogContent.

Input Schema

NameRequiredDescriptionDefault
jobIdYesThe asynchronous job's ID, returned when the triggering call responds with a `jobs` resource. Poll getJob with this ID to check completion status.
filenameYesThe Download File Name.
response_formatNoResponse detail level. concise removes redundant HTML and JSON:API metadata and may use a small default fieldset on large lists; detailed preserves the complete response. Defaults to detailed.detailed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.4.0
    • addedInput schema / properties / response_format
      Added value: +{
      +  "default": "detailed",
      +  "description": "Response detail level. concise removes redundant HTML and JSON:API metadata and may use a small default fieldset on large lists; detailed preserves the complete response. Defaults to detailed.",
      +  "enum": [
      +    "concise",
      +    "detailed"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changedv1.2.0
    • changedInput schema / properties / jobId / description
      Previous value: -"The Job ID."New value: +"The asynchronous job's ID, returned when the triggering call responds with a `jobs` resource. Poll getJob with this ID to check completion status."
  3. First observedv1.0.0

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing the content-type-dependent return shapes (image content, text, embedded base64 resource) and a hard 20 MB refusal limit. That is exactly the behavioral context an agent needs before invoking a download tool, and nothing contradicts the annotations.

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 sentences, each carrying distinct payload: what it returns per type, the size cap, the prerequisite, and the sibling alternative. Front-loaded with purpose and zero 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?

With no output schema, the description carries the return-value burden and does so by enumerating each possible content form and the failure mode (oversized files). Combined with the prerequisite and filename-discovery note, an agent has everything needed to call it correctly.

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; the description earns extra by explaining that the jobId comes from a `jobs` resource polled via getJob and that valid filenames are enumerated on the job resource, which sharpens the otherwise thin 'The Download File Name' schema text. It does not describe the response_format parameter at all.

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 ('Downloads one result file produced by a finished asynchronous job') plus scope ('one', 'finished'). It also gives a concrete example tying it to getExportExcelTests, so an agent can distinguish it from getJob, getJobLogContent, and the various attachment-content tools.

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?

Explicit precondition ('Call it only after getJob reports the job as finished') and an explicit alternative with the condition that selects it ('For the job's log instead of its output, use getJobLogContent'). It also tells the agent where to discover valid filenames.

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

Deploy Server

Other Tools