Skip to main content
Glama

start_crawl

Start an asynchronous crawl and return a job_id. Poll get_job until PENDING/STARTED becomes SUCCESS, FAILURE or REVOKED.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
tagsNo
pdf_ocrNo
max_depthNo
max_pagesYes
parse_pdfNo
url_regexNo
timeout_msNo
wait_for_msNo
include_linksNo
include_framesNo
include_imagesNo
shorten_base64No
follow_subdomainsNo
only_main_contentNo
settle_animationsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already indicate the operation is not read-only and not idempotent. The description adds valuable context about the asynchronous nature and the job lifecycle states (PENDING/STARTED transitioning to terminal states), which is beyond the annotations. It does not discuss side effects or rate limits, but the added state-machine detail is useful.

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?

The description is a single, information-dense sentence that wastes no words. It conveys the core action, the asynchronous contract, and the next step (poll get_job) efficiently, earning top marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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

Despite the concise phrasing, the description omits any elaboration on crawl configuration or parameter behaviors, which is significant for a tool with 16 parameters and no schema descriptions. The presence of get_job as a sibling and an output schema helps, but the description alone does not provide enough context to safely configure non-default options like pdf_ocr or max_depth.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description provides zero explanation of the 16 parameters. It does not even mention that 'url' is the target to crawl or what 'max_pages' controls, leaving agents to guess from names and types alone. With no compensation in the description, this is a critical gap.

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 begins with 'Start an asynchronous crawl', a specific verb+resource that clearly identifies the action and distinguishes it from siblings like start_search, scrape_url, or get_job. It also states the return value (job_id), leaving no ambiguity about what the tool does.

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?

The description explicitly instructs the agent to poll get_job until the job reaches a terminal state (SUCCESS, FAILURE, or REVOKED), which is direct workflow guidance. It does not, however, offer explicit exclusions or when to use alternatives like scrape_url for single-page fetches, so it does not meet the full 5-level bar.

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.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: start_crawl and start_search initiate different async operations, get_job polls their status, scrape_url returns content synchronously, and get_usage handles account details. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_job, get_usage, scrape_url, start_crawl, start_search. The verbs (get, scrape, start) clearly indicate the action, and the nouns identify the target resource.

Tool Count5/5

Five tools cover the core workflows of this scraping/search service: two async starters, one poller, one synchronous scraper, and one usage checker. This is well-scoped without unnecessary redundancy.

Completeness4/5

The core lifecycle is covered: start async jobs, poll for results, retrieve synchronous content, and check account balance. Minor gaps exist, such as no explicit cancel/revoke job tool or a way to list historical jobs, but these are not critical for basic usage.

Resources