Skip to main content
Glama

get_upload_status

Check an upload's current state once without waiting to determine whether it is in progress, ready with the new node, failed, or aborted.

Instructions

Return the current status of an upload once, without waiting: uploading, completing, finalizing, processing or verifying while in progress; ready (with the new node), failed (with failure) or aborted when finished. To wait for completion after complete_upload, use wait_upload instead of calling this repeatedly. Requires files:upload.

Input Schema

NameRequiredDescriptionDefault
limitNonumber of part URLs, maximum 100
upload_idYesupload UUID returned by prepare_upload
first_partNofirst part number, default 1

Output Schema

NameRequiredDescriptionDefault
modeYes
nodeNo
sha256No
statusYes
failureNo
put_urlNo
part_sizeNo
part_urlsNo
upload_idNo
expires_atNo
total_partsNo
uploaded_partsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only supply destructiveHint=false, so the description carries most of the burden and does it well: it discloses the non-blocking single-shot semantics, the full status vocabulary including terminal states (ready/failed/aborted), and the files:upload scope requirement. It does not discuss error behavior or how long statuses remain queryable.

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?

Dense but front-loaded: the core behavior comes first, the status enumeration second, and the sibling routing last. It is slightly packed into one long sentence run, but no sentence is wasted.

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?

An output schema exists, so return values need not be explained, and the description covers the essentials: non-blocking behavior, state machine, permission requirement, and the alternative tool. Minor gaps around error/expiry behavior remain.

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 the schema already documents upload_id, limit and first_part, making 3 the baseline. The description adds no parameter-level meaning, and notably does not explain why a status check exposes part-URL parameters, leaving that ambiguity entirely to the schema.

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 ("Return the current status of an upload") and immediately pins down the scope with "once, without waiting," then enumerates the exact status values an agent will see. This clearly separates it from wait_upload, which is named explicitly.

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?

Gives an explicit routing rule: poll here for a single snapshot, but if you need to wait for completion after complete_upload, use wait_upload instead of calling this repeatedly. Both the when and the named alternative are present.

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