Skip to main content
Glama

Read several pages

read_pages
Read-only

Read several web pages at once: give up to 5 URLs and get the full visible text of each (up to 20,000 characters a page), rendered in a real browser so JavaScript pages work, with title and final URL. Pages that can't be read are listed with the reason; the rest still come back. Use it after a search to read the results you picked.

$0.008 USDC per call over x402. Failed calls cost nothing. Call without payment to get a quote.

When to use: You picked 2-5 pages to read, for example from web_search results. Use instead: read_page for a single URL; search_and_read when you have a question but no URLs yet. Parameters: urls: 1-5 absolute http(s) URLs. Each is read in parallel; a page that fails doesn't stop the others. Returns: pages[] in the order given, each with ok, title, final_url, text (up to 20,000 characters) or the reason it failed; pages_read and pages_failed. Charged only if at least one page is read.

Input Schema

NameRequiredDescriptionDefault
urlsYes1 to 5 absolute http(s) page URLs.
paymentNoBase64 x402 payment payload. Omit it to receive a quote; sign that and call again.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

With readOnlyHint/openWorldHint already declaring the safety profile, the description still adds real behavioral context: real-browser JS rendering, 20,000-character per-page truncation, parallel reads where one failure doesn't stop others, per-call $0.008 x402 pricing, failed-calls-are-free, and the quote-then-pay flow via the payment param. This is far beyond what annotations convey.

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 scoped well, with labeled When/Instead/Params/Returns sections. Slight redundancy: the 20,000-character truncation and per-page failure behavior are stated twice (opening paragraph and Returns), which costs a little tightness.

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?

No output schema exists, so the description carries the returns burden and does so fully: pages[] in input order with ok, title, final_url, text (or failure reason), plus pages_read/pages_failed and the billing condition. Pricing and the quote flow are also covered, leaving no gap for correct invocation.

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 baseline is 3, but the description adds meaning: urls must be 1-5 absolute http(s) URLs read in parallel, and it explains the payment parameter's quoting workflow beyond the schema's terse 'omit to receive a quote'.

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?

Names a specific verb and resource ('Read several web pages at once'), quantifies the batch (up to 5 URLs), and explicitly contrasts itself with read_page and search_and_read so an agent can distinguish it from siblings without opening schemas.

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?

Has an explicit 'When to use' line ('You picked 2-5 pages to read, for example from web_search results') plus a 'Use instead' line naming read_page for a single URL and search_and_read for question-only flows. When, when-not, and alternatives are all present.

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.