Skip to main content
Glama

web_extract

Read-onlyIdempotent

Up to 5 pages in one call — including the JavaScript ones — Pass up to 5 URLs (comma-separated) and get each page back as clean text with its title. Renders pages that build their content in the browser, which a plain server-side fetch cannot read at all — so it covers the SPAs, dashboards and app pages that url-extract deliberately refuses. Returns partial success: pages that fail come back in a failed list with the reason, and a call where every URL fails is not charged. For a single static page, url-extract is cheaper. Required input: urls. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYesURLs (comma-separated, max 5)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe result payload. Shape is service-specific; every field is documented in the tool description.
serviceNoThe service id that answered.
checkedAtNoISO-8601 timestamp of when the underlying reads were taken.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / description
      Previous value: -"The result payload. Shape is service-specific; every field is documented in the service description above."New value: +"The result payload. Shape is service-specific; every field is documented in the tool description."
  2. Changed1 schema field changed
    • removedOutput schema / required
      Removed value: -[
      -  "data"
      -]
  3. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial behavioral context beyond the annotations: it renders JavaScript in a browser, returns partial success with a failed list, does not charge when every URL fails, and explains pricing and authentication requirements. There is no contradiction with annotations.

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 dense but every sentence earns its place: batching limit, JS rendering, contrast with url-extract, partial success and billing behavior, required parameter, pricing, and auth. It front-loads the core capability before commercial details and is well-structured for an agent to parse quickly.

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

Completeness5/5

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

Given the tool's moderate complexity and the presence of an output schema, the description covers all essential selection and invocation details: what it returns, how failures are reported, cost implications, required parameter, and authentication alternatives. An agent can confidently choose and call this tool without additional context.

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% and the schema already describes urls as 'URLs (comma-separated, max 5).' The description reinforces the comma-separated format and adds that each page returns clean text with its title, which gives the agent a clearer expectation of what the parameter input produces. This is modest value beyond the schema, so a 4 is appropriate.

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 states a specific verb and resource: 'get each page back as clean text with its title.' It also clearly differentiates from sibling url-extract by noting it covers SPAs, dashboards, and app pages that 'url-extract deliberately refuses,' and by mentioning that url-extract is cheaper for single static pages.

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?

The description explicitly tells when to use this tool versus url-extract: use it for JavaScript-rendered pages and batches up to 5 URLs, while choosing url-extract for a single static page. It also covers failure handling and free-call/pricing details, giving clear selection context.

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

A3.6/5.0
Disambiguation2/5

Despite excellent per-tool descriptions, the set contains many near-overlapping tools: rug_score, batch_risk, pre_trade_gate, and deep_dd all assess token risk; wallet_portfolio, wallet_networth, and wallet_tokens all list balances; b20_safety, b20_gate, and b20_dossier overlap heavily; url_extract, web_extract, ai_extract, and url_to_json also blur boundaries. An agent would struggle to consistently pick the right tool without reading every description.

Naming Consistency4/5

Naming is overwhelmingly consistent snake_case verb_noun (token_price, rug_score, address_trust, file_convert, safe_to_send). Minor deviations: noun-only names like holders, basename, deep_dd, business_days, and new_tokens, plus the abbreviation deep_dd, slightly break the pattern.

Tool Count1/5

137 tools is far beyond the 50+ extreme-mismatch threshold. Even as a marketplace bazaar, this is an enormous, unwieldy surface where many tools overlap and each contributes only a sliver of unique value.

Completeness4/5

For the apparent purpose — a pay-per-call bazaar covering on-chain analysis, wallet intelligence, token due diligence, plus generic text/web/finance utilities — the surface is extensive and covers most read-only workflows with few dead ends. Minor gaps exist (no historical price series, no swap execution, no true on-chain write actions), but the set is not severely incomplete for its stated niche.

Resources