Skip to main content
Glama

wait_upload

Waits up to 25 seconds for an upload to reach a ready, failed, or aborted state after complete_upload, returning the latest status on timeout instead of polling get_upload_status repeatedly.

Instructions

Wait up to 25 seconds for an upload to become ready, failed, or aborted. On timeout returns latest status; repeat if nonterminal. Use this after complete_upload instead of calling get_upload_status in a loop.

Input Schema

NameRequiredDescriptionDefault
upload_idYesupload UUID
timeout_secondsNomaximum wait in seconds, default 20, range 1 to 25; timeout returns the latest nonterminal status

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.4/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 disclosure burden. It does that well by explaining the blocking/timeout behavior and the meaning of a timeout return. What is missing is minor: no statement about polling frequency or whether concurrent waits are safe.

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 short sentences with zero waste. The core behavior is front-loaded, followed by timeout semantics and then the routing guidance.

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 and full parameter coverage, nearly everything an agent needs is covered. The only small gap is that the description's stated 25-second ceiling does not explicitly reconcile with the schema's default of 20 seconds, though the schema resolves it.

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%, and the schema already documents upload_id and timeout_seconds (default 20, range 1-25), so the schema covers parameter meaning. The description's 'up to 25 seconds' adds a little context but does not extend beyond what the schema provides; a 3 is the appropriate baseline.

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 names a specific verb (Wait) and resource (upload) and states the terminal states it waits for (ready, failed, aborted). It clearly distinguishes itself from the sibling get_upload_status, which returns a snapshot rather than blocking.

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?

It explicitly says when to use it ('after complete_upload') and names the alternative to avoid ('instead of calling get_upload_status in a loop'). It also tells the agent what to do on timeout ('repeat if nonterminal'), leaving little to inference.

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