Skip to main content
Glama

Poll a queued image job

carpe_image_status
Idempotent

Fetches the result of a queued image job by job ID, waits up to a set time, and polls the originating surface to return completed image output.

Instructions

Fetch the result of a queued image job (job_id from an image tool). Polls on the surface that created the job. Free.

Input Schema

NameRequiredDescriptionDefault
job_idYes
wait_secondsNoSeconds to wait for a queued job before returning a job_id (default 120).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover idempotency, open-world, and destructiveness, so the bar is lower. The description contributes two genuinely non-structured facts: polling is scoped to the surface that created the job, and the call is free. It does not explain why readOnlyHint is false — presumably retrieving consumes the job — nor what remains after a poll, which is the main behavioral unknown left.

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?

Three short clauses, front-loaded with what the tool returns, then provenance, then cost. No filler. The 'Free.' fragment is terse but earns its place as cost information the schema does not carry.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Only two parameters, no nested objects, and annotations are present, so the definition is close to sufficient. The significant remaining gap is that there is no output schema and the description never says what a successful fetch returns (URL, base64, status field) or what an incomplete job yields — information the agent needs to handle the response.

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 50%: wait_seconds is fully documented in the schema, while job_id has no schema description. The description partially compensates by stating that job_id comes from an image tool, but says nothing about its format or about wait_seconds behavior (blocking vs returning). Marginal value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Fetch the result of a queued image job.' The parenthetical '(job_id from an image tool)' scopes it to image jobs, which implicitly separates it from carpe_video_status and carpe_music_status without naming them. Clear enough to select, though the sibling differentiation is by implication rather than explicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

It tells the agent where the job_id comes from ('from an image tool'), which implies the tool is used after carpe_image_generate/edit/upscale. But there is no explicit when-to-use, no guidance on polling cadence or when to stop, and no statement about what to do if the job is still queued. Usage is inferable rather than stated.

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