Skip to main content
Glama

ChatGPT image job status

job_status
Idempotent

Check a ChatGPT image job by ID, wait for completion, and recheck while queued or running. Omit the ID to inspect bridge connection, queue, and recent jobs.

Instructions

Check a ChatGPT image job by job_id, waiting up to wait_seconds (default 45) for it to finish; call it again while the result says STILL RUNNING or QUEUED. Without job_id it reports the bridge itself: whether Chrome and the extension are connected, the selected ChatGPT project, the images folder, the queue and recent jobs.

Input Schema

NameRequiredDescriptionDefault
job_idNoJob id returned by generate_image (e.g. img_1a2b3c4d).
wait_secondsNoReturn within this many seconds. The default 45 keeps each call under the 60-second tool limit some clients have. If the job has not finished by then, the result says STILL RUNNING or QUEUED: call job_status with its job_id again.
include_previewNoAttach the image preview when the job succeeded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: the 45-second default exists to stay under a 60-second client tool timeout, unfinished jobs require repeated polling rather than blocking, and the no-job_id branch returns concrete diagnostics (Chrome/extension connectivity, selected project, images folder, queue, recent jobs). The description is consistent with idempotentHint=true and destructiveHint=false, describing only reads and repeated safe polling.

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?

Front-loads the primary job-checking use, then the wait/poll contract, then the fallback no-argument mode. Dense but every clause carries actionable information, with no filler.

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?

No output schema exists, yet the description names the exact sentinel results an agent must branch on (STILL RUNNING, QUEUED) and enumerates what the diagnostics mode returns. For a zero-required-parameter polling tool, nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though schema coverage is 100%, the description supplies semantics the schema cannot: the origin of job_id, the rationale behind the 45-second default and the client timeout it avoids, and the crucial but non-obvious fact that omitting job_id switches the tool into bridge-diagnostics mode. That last point is a behavioral contract, not a restatement of 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 ('Check a ChatGPT image job by job_id') plus a second distinct mode ('Without job_id it reports the bridge itself'). It names the result states (STILL RUNNING, QUEUED) and the connected sibling tool (generate_image) that produces the job_id, so an agent can distinguish it from cancel_job or fetch_images 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear call conditions: use it with a job_id from generate_image, and re-invoke while the result says STILL RUNNING or QUEUED. It also explains the no-argument diagnostic use case. It stops short of explicitly naming when to prefer cancel_job or fetch_images instead, so it is clear context rather than fully enumerated alternatives.

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