check_job
Status of a queued request (IN_QUEUE / IN_PROGRESS / COMPLETED / FAILED / CANCELLED) with position, logs and metrics.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| logs | No | ||
| model | Yes | Model id | |
| request_id | Yes | req_… id |
Status of a queued request (IN_QUEUE / IN_PROGRESS / COMPLETED / FAILED / CANCELLED) with position, logs and metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| logs | No | ||
| model | Yes | Model id | |
| request_id | Yes | req_… id |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It usefully discloses the full status vocabulary and that position/logs/metrics are returned, which implies a non-destructive read. However, it says nothing about permissions, rate limits on polling, cost, or whether completed results persist — all material for a job-status tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs in the action, the status enum, and the returned fields with zero filler. Nothing redundant or misplaced.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of enumerating status values and summarizing the return payload (position, logs, metrics), which is enough for an agent to call and interpret it. The unlabeled `logs` input flag and the absent polling/alternative guidance are the only notable omissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: model and request_id are described in the schema, but the boolean `logs` parameter has no schema description. The description mentions 'logs' only as returned data, which hints at its meaning but does not clarify whether the flag enables returning logs or something else. Adequate but with a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource (a queued request) and enumerates the exact status values returned plus the payload (position, logs, metrics), so the agent knows this is a status-polling read. It does not explicitly distinguish itself from get_job_result (which presumably fetches output) or from cancel_job, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool to call after submit_job while waiting for completion. There is no explicit guidance about polling cadence, when to switch to get_job_result once COMPLETED, or when cancel_job is the better call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.