Skip to main content
Glama
NovaSolver Studio MCP Server

NovaSolver Studio MCP Server

Official
by novasolver

job_status

Read-onlyIdempotent

Check a job's state, progress, ETA, message, and completion gates, waiting up to 60 seconds for it to finish so you can call again immediately.

Instructions

Progress of a job: state, progress 0..1, ETA, message, and gates when done (first_error when failed). Waits up to wait_s seconds (default 20, max 60) for the job to end before answering, so call it again right away while it is still running; no need to sleep between calls.

Input Schema

NameRequiredDescriptionDefault
job_idYes
wait_sNo
languageNoja

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

The annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavior beyond them: the call blocks up to wait_s seconds, bounded at a max of 60, and returns different payloads depending on terminal state (gates on success, first_error on failure). It also usefully discloses that no backoff sleep is required, which is non-obvious for a long-poll tool. It does not say what happens if the job never finishes within the wait window beyond the implied non-terminal return.

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?

Two sentences, no filler. The return-value inventory is front-loaded and the polling instruction follows it as the actionable takeaway. 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.

Completeness4/5

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

For a simple read-only polling tool with no output schema, the description is nearly self-sufficient: it documents return fields, terminal-state variants, and the blocking contract. The remaining gaps are the undocumented language parameter and the unstated relationship to job-producing siblings like run_simulation and run_sweep, minor for a low-risk read.

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 description coverage is 0%, so the description has to carry the burden and it only partially does. It fully explains wait_s semantics (default 20, max 60, blocking behavior), which is the hardest parameter, but says nothing about what job_id accepts or where it comes from, and never mentions the language parameter or what it localizes. Two of three parameters remain semantically opaque.

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 the resource (a job) and enumerates exactly what is reported: state, progress 0..1, ETA, message, gates on success, first_error on failure. This is concrete and lets an agent know it is a status/progress query rather than a control action like stop_job. It loses a point only because it never differentiates itself from the closely-named sibling surrogate_status or says which sibling creates the job_id it consumes.

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 explicit invocation guidance for the polling loop: call again immediately while running, no sleep needed, and the call itself blocks up to wait_s. That is genuinely actionable context an agent would otherwise have to guess. There is no explicit exclusion or alternative stated (e.g., when to use surrogate_status instead, or when to stop polling), so it stops short of a 5.

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