crawl
Finds answers across a website by searching toward a specific goal, returning only relevant passages verbatim with source URLs.
Instructions
Crawl a website toward a goal and return only the relevant passages, verbatim.
Use this instead of fetching pages yourself when the answer may be several pages deep (documentation, help centers, policies, product catalogs). A small decision model scores every block of text and every link, follows the most promising links first, and stops as soon as the collected text answers the goal. No language model runs inside the crawl.
Args: goal: A specific question to answer, e.g. "How many days do I have to get a refund?". Vague goals ("learn about the shop") return vague results. start_url: Where to start; the crawl stays on this host and its subdomains. max_pages: Page limit. Start with 10-30. max_seconds: Wall-clock limit. return_tokens: Most text (estimated tokens) to hand back. max_decision_usd: Hard limit on what the decision model may cost for this call.
Returns:
blocks: relevant passages, best first. Each has url, heading_path, text
(copied from the page), char_start/char_end (offsets into the page text whose
sha256 is in pages) and relevance (0-1).
uncertain: borderline passages. Read these before concluding something is missing.
pages: every page fetched. stats: what it cost and why it stopped; check
stats.stopped_because ("answered", "frontier_empty", "max_pages", "max_seconds",
"budget") and stats.degraded (true means the decision model was unreachable and
results are unscored). stats.needs_js_urls lists pages that only render with
JavaScript and could not be rendered; stats.js_rendered_urls those it rendered.
On failure: {"error": code, "message": ...}.
Quote returned text together with its url.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"goal": "<goal>",
"start_url": "<start_url>"
},
"name": "crawl"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| max_pages | No | ||
| start_url | Yes | ||
| max_seconds | No | ||
| return_tokens | No | ||
| max_decision_usd | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||