Skip to main content
Glama
HuntAPI MCP Server

HuntAPI MCP Server

Official
by huntapi

Wait for a job

wait_for_job
Read-only

Polls an async job until it reaches a terminal status or timeout, then returns the job document with the file link.

Instructions

Polls an async job (job_id returned by a download endpoint) until it reaches a terminal status (CompletedJob, Error, NotFound, BadRequest) or the timeout elapses, then returns the job document with the file link.

Input Schema

NameRequiredDescriptionDefault
job_idYesThe job_id returned by the download endpoint.
timeout_secondsNoHow long to wait (default 120).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, non-destructive operation, so the bar is lower. The description adds substantive detail beyond the annotations: that the tool blocks and polls until one of four enumerated terminal statuses or the timeout elapses, and what it returns. It does not say what happens if the timeout fires before a terminal status, which is the main undisclosed behavior for a polling tool.

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?

A single sentence that front-loads the core action and packs the terminal states, timeout, and return value into the remainder with no wasted wording. Front-loading the polling behavior before the outcome list gives the agent the essential action first.

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 two-parameter polling tool, the description covers the mechanics, the terminal states, the blocking bound, and the return value even though no output schema exists. The one gap is timeout behavior: the agent cannot tell whether a timeout yields an error, a partial job document, or a specific status, which matters for a tool whose whole point is waiting.

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 complete (job_id's origin and timeout_seconds' bounds are both documented in the schema), so the baseline is 3. The description reinforces the job_id origin and the timeout concept but adds no format or tuning detail beyond the schema, and the maximum of 300 seconds is left entirely to 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?

The description names a specific verb and resource ('polls an async job') and captures the full lifecycle: it polls the job_id returned by a download endpoint until a terminal status (CompletedJob, Error, NotFound, BadRequest) or timeout, then returns the job document. The detail that the job_id comes from a download endpoint distinguishes it from the sibling `jobs` tool, which handles job listing or management rather than blocking on a single job.

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?

Usage is implied by the statement that the job_id is 'returned by a download endpoint', which suggests this tool follows audio_download or video_download. However, the description never explicitly says when to call wait_for_job instead of polling through `jobs`, and no conditions are given for choosing one over the other.

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