Skip to main content
Glama

runtime_sandboxes_files_link

Destructive

Make an expiring link to one file in a sandbox that anyone can open with no API key, for a person to download in a browser or a service to fetch: a report, a build, a video, a dataset. method GET (default) downloads; PUT gives an upload link whose raw body becomes the file. archive: true links a folder as .tar.gz. expiresInSeconds 60 to 604800 (1 hour default). Answers url and expiresAt. POST /v1/sandboxes/{id}/files:revoke-links ends every link of a sandbox.

Input Schema

NameRequiredDescriptionDefault
idYes
pathYesAbsolute path in the sandbox, e.g. /workspace/report.pdf. For GET it must exist when the link is made.
wakeNotrue: a paused sandbox is woken for the link even if it was made with autoWake: false; needs a key with the create permission, as a wake does. false: never woken, the link answers 409 sandbox_paused. Unset: as the sandbox's autoWake says.
methodNoGET: a download link. PUT: an upload link; the body becomes the file.GET
archiveNoGET only: path is a folder, downloaded as a .tar.gz.
filenameNoDownload as this name (Content-Disposition: attachment). Without it a picture, video, sound or plain text shows in the browser; anything else downloads.
maxBytesNoPUT only: the largest body the link takes. 5 GiB by default and at most.
expiresInSecondsNoHow long the link works: 60 seconds to 7 days, 1 hour by default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, it discloses the important behavioral traits: links are public without an API key, expire within a bounded range, GET downloads while PUT accepts a raw body, archive folders become .tar.gz files, and the response includes url and expiresAt. It also notes how to revoke all sandbox links, which is valuable operational context.

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?

The definition is dense but efficient: it front-loads the core purpose, then packs method, archive, expiry, response, and revocation context into very little text. The examples and revoke note are useful rather than padding.

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?

There is no output schema, but the description states that the answer contains url and expiresAt. With high schema coverage and annotations, the description supplies the remaining operational context an agent needs to invoke this tool 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 coverage is already 88%, so the schema does most of the parameter documentation. The description reinforces method, archive, and expiry semantics but largely repeats what the schema already says for those fields and does not add much for id, path, wake, filename, or maxBytes.

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 opens with a specific verb and resource: making an expiring file link in a sandbox. It also states the key scope distinction that the link is publicly openable without an API key, which separates it from sibling file-read/write tools.

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?

It gives clear contextual usage for browser downloads and service fetches, and explains how to choose between GET and PUT modes plus archive behavior. It does not explicitly name alternative sibling tools or say when not to use this tool, keeping it short of a 5.

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.