Skip to main content
Glama

Crawlora MCP

web_scrape

Read-only

Scrape a URL into markdown, HTML, links or metadata. A URL that maps onto a dedicated endpoint (currently Reddit pages) returns that endpoint's structured response instead; pass dedicated=false for the scraped page.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "web_scrape"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoThe absolute http(s) URL to scrape.
proxyNoOptional: route egress through your OWN proxy (http/https/socks5 URL, credentials allowed) — e.g. your residential/mobile proxy. Used for the HTTP tier and the proxy-capable browser backend. Must resolve to a public address.
renderNoFetch strategy: auto (Chrome-impersonated HTTP, then escalate to a real headless browser when blocked or JS-rendered), http (Chrome-impersonated HTTP, no JavaScript), browser (headless browser that executes JavaScript), or unblocker (route through a managed anti-bot unblocker for the hardest sites — premium, billed higher; only when configured). Defaults to auto.
backendNoAdvanced (browser render only): pin a single headless-browser backend instead of the auto-selected fleet, e.g. camoufox, cloakbrowser, lightpanda, chrome-headless-shell. Mainly for diagnosing which engine gets through a given site. Unknown/unavailable backend falls back to the HTTP tier.
formatsNoOutput formats to include. Allowed values: markdown, html, raw_html, links, link_details, metadata. 'links' is a deduplicated list of absolute URLs; 'link_details' is one {text, href, rel} object per anchor (not deduplicated). Defaults to ["markdown"].
max_ageNoCache: return a recently-cached copy if it is younger than this many milliseconds, otherwise re-fetch and refresh the cache. 0 forces a fresh fetch (bypasses the cache read). Omitted uses the server default (7 days); capped at 7 days. A cache hit is billed at a reduced credit weight. Bypassed when 'proxy' or 'backend' is set.
wait_forNoBrowser rendering only: extra milliseconds to wait for client-side content to settle after load (0-25000). Ignored for the HTTP tier. Default 0.
dedicatedNoRouting: when the URL maps onto a dedicated endpoint this API already offers for that site (currently Reddit listings, searches, comment threads, user and domain pages), the dedicated endpoint's own structured response is returned instead of a scraped page, at that endpoint's credit price. Defaults to true. Set false to always get the scraped page content. Ignored when proxy or backend is set.
store_in_cacheNoCache: whether to store this fetch in the response cache for later requests. Defaults to true. Set false to fetch without writing to the cache.
only_main_contentNoStrip navigation, header, footer, scripts and other boilerplate before converting. Defaults to true.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / dedicated
      Added value: +{
      +  "description": "Routing: when the URL maps onto a dedicated endpoint this API already offers for that site (currently Reddit listings, searches, comment threads, user and domain pages), the dedicated endpoint's own structured response is returned instead of a scraped page, at that endpoint's credit price. Defaults to true. Set false to always get the scraped page content. Ignored when proxy or backend is set.",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real value beyond them by disclosing that a Reddit-mapped URL silently returns a different structured endpoint response (at a different credit price) and how to force the plain scraped page.

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?

Two sentences, zero waste; the core purpose leads and the routing caveat follows. Every clause earns its place.

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?

An output schema exists, so return values need not be explained, and the rich per-parameter schema covers proxy, render, cache and format options. The description covers the two things an agent could not infer (output modes and dedicated-endpoint routing), leaving minor gaps only around performance/cost tradeoffs.

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 coverage is 100%, so all ten parameters are already documented in the schema, including the routing, caching, and format details. The description reinforces 'dedicated' but adds no syntax or format meaning beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (scrape) and resource (a URL) plus the output modes (markdown, HTML, links, metadata), and it explains a non-obvious routing behavior. It does not, however, distinguish itself from close siblings such as 'extract' or the many site-specific scrapers, so an agent gets no explicit contrast.

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?

The dedicated/dedicated=false condition is spelled out as a when-to-use rule, which is genuinely useful. But there is no guidance on when to reach for this generic scraper versus 'extract' or the hundreds of site-specific tools, so broader tool selection is left to inference.

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.

Resources