Skip to main content
Glama

Get file

get_file
Read-only

Fetch a file by ID to receive fresh signed URLs for its thumbnail, preview, and download renditions. Set wait:true to poll until processing finishes after uploading bytes.

Instructions

Fetch a file by id with freshly hydrated (non-expired) signed URLs for its thumbnail, preview, and download renditions. Set wait: true to poll until the file finishes processing — use this right after PUTting bytes to a create_file_upload URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoWhen true, poll until the file finishes processing and a rendition is ready. Defaults to false (a single fetch).
fileIdYesFile id (vg_file_...).
timeoutMsNoMaximum time to wait for processing before giving up, in milliseconds.
pollIntervalMsNoHow often to poll while waiting, in milliseconds.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoFile type once processing has determined it.
scopeNoFile scope.
fileIdYesFile id (vg_file_...).
hlsSourceNo
descriptionNoFile description when analyzed.
displayNameNoDisplay name for the file.
downloadUrlNoSigned download URL when ready.
publicHlsUrlNo
thumbnailUrlNoSigned thumbnail URL when available.
previewSourceNo
downloadSourceNo
sourceToolTypeNo
transcriptTextNoPlain transcript text when available.
durationSecondsNoDuration in seconds for video/audio; null for images.
thumbnailSourceNo
publicPlaybackIdNo
downloadUrlExpiresAtNoUnix expiry for downloadUrl.
sourceToolExecutionIdNo
thumbnailUrlExpiresAtNoUnix expiry for thumbnailUrl.
isPublicPreviewEnabledNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/non-openWorld, so the safety profile is covered. The description adds genuinely useful behavior beyond that: URLs are 'freshly hydrated (non-expired)', and wait mode polls with a give-up condition implied by timeoutMs. It does not describe error behavior when a file id is unknown, keeping it short of a 5.

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?

Two tight sentences, front-loaded with what is fetched and what it returns, then the wait/escalation guidance. No filler or redundant restatement of the title.

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 an output schema present, the description need not explain return values, and it covers the key usage sequence (post-upload hydration + polling). Minor gap: no note on auth/permission requirements or not-found handling, but for a read tool with full schema and annotations this is close to complete.

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 100%, so all four parameters are already documented in-schema, which sets the baseline at 3. The description reinforces wait's semantics ('poll until the file finishes processing') but adds nothing about timeoutMs or pollIntervalMs beyond what the schema states.

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 (fetch) and resource (file by id), and goes further by naming exactly what comes back: freshly hydrated signed URLs for thumbnail, preview, and download renditions. This clearly separates it from list_files and the upload/create sibling 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?

Explicitly routes the agent: 'Set wait: true to poll until the file finishes processing — use this right after PUTting bytes to a create_file_upload URL.' It names the sibling and the sequencing condition that determines when to use this tool and when to use wait mode.

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