Skip to main content
Glama

Follow a long-running job

get_job
Read-onlyIdempotent

Check on a job a long tool handed back -- a crawl from crawl_site, a run from start_run or recrawl_pages, or a batch from scrape_urls -- and, once it has finished, return the same result the original tool would have given; while it is still going, its status and counts. Call it when a tool answered with status 'running' and a job; calling the original tool again is not needed and would not start a second job. For a crawl it is also how to read further: url returns one page in full (even mid-crawl) and cursor the next window of pages. For a project's stored pages use get_page instead. Free: it only reads stored results and never fetches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe job's id, from that 'job' object, or a crawl_site answer's crawl_id.
urlNoCrawls only: one page's URL from the crawl's index, to read that page in full.
kindYesWhat the job is: 'crawl' (crawl_site), 'run' (start_run, recrawl_pages) or 'batch' (scrape_urls); the 'job' object a tool returned names it.
cursorNoCrawls only: the cursor a previous crawl answer returned, to read the next window of pages.
project_idNoRequired for a run: the project it belongs to (the 'job' object carries it). Ignored for a crawl or a batch.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / cursor / description
      Added value: +"Crawls only: the cursor a previous crawl answer returned, to read the next window of pages."
    • addedInput schema / properties / id / description
      Added value: +"The job's id, from that 'job' object, or a crawl_site answer's crawl_id."
    • addedInput schema / properties / kind / description
      Added value: +"What the job is: 'crawl' (crawl_site), 'run' (start_run, recrawl_pages) or 'batch' (scrape_urls); the 'job' object a tool returned names it."
    • addedInput schema / properties / kind / enum
      Added value: +[
      +  "crawl",
      +  "run",
      +  "batch"
      +]
    • addedInput schema / properties / project_id / description
      Added value: +"Required for a run: the project it belongs to (the 'job' object carries it). Ignored for a crawl or a batch."
    • addedInput schema / properties / url / description
      Added value: +"Crawls only: one page's URL from the crawl's index, to read that page in full."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, but the description adds real behavioral context: it is free, reads only stored results, never fetches, and returns the original tool's result once finished versus status/counts while running. It does not cover auth needs or any rate/expiry limits, so it stops short of a 5.

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?

Front-loaded with the core purpose and trigger, with the crawl-pagination and get_page routing details following. It is dense and runs long for one paragraph, but every sentence carries information an agent needs; no filler is present.

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?

With no output schema, the description carries the return-value burden and does so by explaining the two states (running: status and counts; finished: same result as the originating tool). That is nearly complete, though the literal shape of a finished result is conveyed by analogy to the original tool rather than specified.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds semantics the schema does not: `url` reads one page in full even mid-crawl, and `cursor` reads the next window of pages, tying both to the crawl reading flow. `kind` and `project_id` semantics are largely already in the schema, so this is an increment rather than a full rewrite.

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 gives a specific verb and resource ('check on a job', 'return the same result the original tool would have given') and explicitly maps each job kind to the sibling that produced it (crawl_site, start_run, recrawl_pages, scrape_urls). An agent can distinguish it from every sibling without opening a schema.

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

Usage Guidelines5/5

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

It states the trigger condition precisely ('Call it when a tool answered with status "running" and a job'), rules out the wrong action ('calling the original tool again is not needed and would not start a second job'), and routes elsewhere when appropriate ('For a project's stored pages use get_page instead'). This is explicit when-to-use, when-not, and alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.