Skip to main content
Glama

Web page reader (clean Markdown + metadata)

web_read
Read-onlyIdempotent

Web page reader for agents: fetch one public URL and get clean Markdown or text of the main content plus title, description, canonical, language, dates, headings and absolute links. Strips nav, scripts and cookie banners; follows redirects; handles JSON/text. Honors robots.txt and never bypasses logins or bot blocks. Errors are not charged: 400 bad URL, 422 robots/404/blocked, 502 unreachable. PAID: $0.001 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/web/read.

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": {
      "url": "<url>"
    },
    "name": "web_read"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYespublic http(s) URL to read
linksNoinclude link list and inline Markdown links, default 1
formatNocontent format, default markdown
maxCharsNomax content characters returned, default 20000

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/idempotent; the description goes well beyond that by disclosing transformation behavior (strips nav, scripts, cookie banners; follows redirects; handles JSON/text), policy limits (honors robots.txt, never bypasses logins), and a full error taxonomy with status codes (400, 422, 502) plus the key fact that errors are not charged. It also surfaces the paid x402 requirement and the exact retry mechanism via params._meta["x402/payment"], which no annotation communicates.

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

Conciseness4/5

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

Front-loaded with the core action and payload, then progressively adds policy, errors, and pricing in descending priority. It is dense and clause-heavy rather than wasteful, but the packed semicolon chains (stripping, redirects, robots.txt, error codes, payment) make it slightly harder to scan than a short bulleted structure would be.

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?

With no output schema, the description carries the return-value burden and does so by enumerating the metadata fields returned alongside the content. It also covers cost, payment mechanics, error semantics, and content-policy limits, leaving nothing an agent needs in order to invoke or recover from a failure.

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%, so the four input parameters are already fully documented and a baseline 3 applies. The description adds meaning beyond the schema for the payment parameter present only at the transport layer (params._meta["x402/payment"]), which is not in the input schema at all, and it clarifies the default-rich output shape that maxChars and links modulate.

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?

States a specific verb and resource ('fetch one public URL') and precisely names the return payload: clean Markdown or text of main content plus title, description, canonical, language, dates, headings and absolute links. Nothing in the sibling list overlaps, and an agent can immediately tell this is a general web-page-to-Markdown reader rather than a domain-specific lookup tool.

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?

Gives clear scope conditions: a single public http(s) URL, public-only, no login or bot-block bypass, robots.txt respected. It also names an alternative transport ('Same tool over plain HTTP: GET /v1/web/read'), which helps an agent that has no MCP payment path. What it does not do is say when to prefer this over other retrieval approaches or what to do for non-public/authenticated pages beyond implying refusal.

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