Skip to main content
Glama

Wait for a job

job_wait
Read-onlyIdempotent

Long-poll a job until it reaches a terminal state or the timeout elapses. Default 90s, which is what a cold-starting Blender container usually needs; up to 300s is accepted but read the parameter note first, because a long single call trades round trips for connection risk. Cheaper than a job_get loop; chain calls for longer jobs, or register a webhook (webhooks_set) and stop polling altogether. Validation results include a complete aggregate report summary plus exact job_report continuations; result retains the compatible inline sample. Inspect report.inlineComplete and coverageComplete; truncated details or skipped checks never establish full coverage.

Input Schema

NameRequiredDescriptionDefault
jobIdYesDurable job ID returned when an asynchronous operation is queued.
timeoutSecondsNoSeconds to hold the connection open. 90 (default) is deliberately under the ~100s idle timeout common to HTTP proxies; values above that are allowed for direct connections but may return a transport error instead of a result. For jobs that genuinely take minutes, chain 90s calls or use webhooks_set.

Output Schema

NameRequiredDescriptionDefault
jobIdYesDurable job ID returned when an asynchronous operation is queued.
reportYes
resultYes
statusYes
terminalYes
waitedMsYes
artifactsYes
errorCodeYes
progressPctYes
errorMessageYes
statusMessageYes
resultRevisionIdYes
resultArtifactIdsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • removedOutput schema / properties / errorCode / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / errorCode / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / errorMessage / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / errorMessage / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / resultRevisionId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / resultRevisionId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already establish that this is read-only, idempotent, and non-destructive, while the description adds useful operational context: the 90s default is tied to cold-starting Blender containers, long calls risk transport errors, and validation coverage must be checked via inlineComplete and coverageComplete. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core behavior and key timeout default, then moves to alternatives and output caveats. It is dense but mostly purposeful; the validation-report sentences are useful but overlap somewhat with the output schema.

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?

For a long-polling job tool with two parameters, an output schema, and safety annotations, the description covers the essential calling strategy, timeout risks, alternatives, and how to interpret truncated or incomplete validation coverage. An agent has enough information to invoke 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% and the parameter descriptions are already detailed, so the baseline is 3. The description adds some value by explaining that 90s is the usual cold-start requirement and by framing the tradeoff between round trips and connection risk, though much of the timeout guidance is also present in the schema note.

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 uses a specific verb and resource: 'Long-poll a job until it reaches a terminal state or the timeout elapses.' It also distinguishes this from a polling loop with job_get and from the webhook alternative, so an agent can identify the tool's role without opening the schema.

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 this is cheaper than a job_get loop, advises chaining calls for longer jobs, and names webhooks_set as an alternative that avoids polling. It also gives concrete timeout guidance and warns that long single calls trade round trips for connection risk.

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.

Resources