Skip to main content
Glama

Get job

get_job
Read-onlyIdempotent

The state of a generation job started by generate_design, generate_image, adapt_design, resize_creative, remove_background, sharpen_creative or edit_creative: running, completed, failed or rejected, how many of its images are done, the error if it failed, and the finished creatives with their media URLs. Finished images come back as pictures too, for you to look at; to show them to the user, call show_creatives with their ids rather than pasting URLs. To wait for jobs to finish, call wait_for_jobs instead. A final job never changes, so do not read it again.

Input Schema

NameRequiredDescriptionDefault
jobIdYesThe jobId a generation tool returned.
brandIdNoOptional: the brand it belongs to, by id or name. Read from the id when omitted.

Output Schema

NameRequiredDescriptionDefault
idYes
nextYes
errorNo
finalYesTrue once the job has completed, failed or been rejected: it will not change again.
mediaYes
statusYes
brandIdYes
progressYes
creativesYes
operationYes
submittedAtYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / brandId / description
      Previous value: -"Optional: the brand it belongs to. Read from the id when omitted."New value: +"Optional: the brand it belongs to, by id or name. Read from the id when omitted."
    • addedOutput schema / properties / media / items / properties / previewUrl
      Added value: +{
      +  "description": "A small WebP of it to look at; url is the full size to hand over.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent, so the description is free to add the traits that matter: final jobs are immutable (so re-reads are wasted calls) and finished images are returned inline as pictures the model can inspect. That is real behavioral context beyond the structured fields, not a restatement of them.

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?

Front-loaded with the core purpose and packed with useful detail, with no filler sentences. The long run-on enumeration of seven generator tools and the chained clauses make it slightly dense to parse, but every clause carries information an agent needs.

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?

An output schema exists, yet the description still tells the agent what the response contains (status, progress, error, media URLs, inline images) and what to do with it. Combined with the immutability rule and the sibling routing, an agent has everything needed to call this correctly on the first try.

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 100%, so both jobId and the optional brandId (including the 'read from the id when omitted' fallback) are already documented in the schema. The description only implicitly ties jobId to the generation tools and says nothing about brandId, so baseline 3 applies.

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 ("the state of a generation job") and enumerates the possible states and payload (progress counts, error, finished creatives with media URLs). It also names the exact upstream tools that produce a jobId, so the agent knows where the input comes from 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?

Explicit routing: use wait_for_jobs to block on completion, use show_creatives to display results instead of pasting URLs, and do not re-poll a final job. Each alternative is named with the condition that selects it, which is exactly the when/when-not guidance needed next to siblings wait_for_jobs, watch_jobs and show_creatives.

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