Skip to main content
Glama

crawl_get

Read-only

Get a crawl and one page of the URLs it kept: crawl_id, status (running, completed, stopped, failed), the crawl (with coverage: pages_fetched, pages_failed, items_found; webhook when set), results and next_cursor.

completed with stop_reason max_items / max_pages means a limit ended it; stopped with stop_reason user means crawl_stop ended it; stopped with no stop_reason and error.code insufficient_credits or api_key_cap_reached means the account ran out of credits or the API key hit a credit cap (the URLs kept before that stay readable); completed with no results and no error means the crawl's pages held nothing new to follow; when include_patterns / exclude_patterns are set, check them against the URLs the start page links to. failed carries error.code and error.detail: seed_unreachable means the start URL could not be fetched or returned an empty page; no_items_found means the crawl read the start page but found no data it could use, so it had nothing to follow; start from a listing or product page. A failed crawl, and a stopped one with an error, answer ok: false: error.code is CRAWL_INSUFFICIENT_CREDITS or CRAWL_KEY_CAP_REACHED (the codes crawl_create gets on a 402) when credits ended it, failed or stopped, else CRAWL_FAILED; error.server_code is the crawl's error.code. Pass next_cursor as cursor for the next page; while the crawl runs, next_cursor is never null. To read many pages at once, use crawl_results.

Input Schema

NameRequiredDescriptionDefault
limitNoResults in this page (default 100, max 10000)
cursorNonext_cursor from a previous crawl_get call, to continue from there
crawl_idYesCrawl id returned by crawl_create (c_…)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint), the description discloses a large amount of non-obvious behavior: stop_reason meanings, the credit-exhaustion codes insufficient_credits/api_key_cap_reached, that already-kept URLs remain readable, the seed_unreachable/no_items_found failure interpretation, and the guarantee that next_cursor is never null while running. None of that is recoverable from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is valuable but delivered as a dense semicolon-chained paragraph of roughly 300 words with nested status/error-conditionals that are hard to parse at a glance. A short lead plus structured lines for statuses and error codes would convey the same information far more efficiently.

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: it lists the response fields, the status/stop_reason taxonomy, and error shapes for both ok:true and ok:false cases. Strong coverage, marred only by the difficulty of extracting it from the run-on prose.

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 100%, so all three parameters are already documented. The description only restates the cursor handoff ('Pass next_cursor as cursor'), adding no format or range detail beyond the schema; baseline 3 applies.

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 opening sentence names a specific verb and resource ('Get a crawl') plus the exact scope ('one page of the URLs it kept') and enumerates the returned fields, so an agent knows precisely what it receives. The closing sentence explicitly distinguishes it from crawl_results, which handles multi-page reads.

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?

It gives a clear paging rule ('Pass next_cursor as cursor for the next page') and names the alternative for bulk reads ('To read many pages at once, use crawl_results'). It does not address when to prefer crawl_wait or crawl_list over polling crawl_get, but the core routing guidance is present.

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.