Skip to main content
Glama

page.extract

Read-only

Returns the main text of one public web page as clean markdown, unchanged and not summarized, up to 8,000 characters, as {url, markdown, truncated}, usually in 2 to 5 seconds. Pass the address of the specific page, not a site's home page; pages that need a login cannot be read, and longer pages are cut and flagged truncated. Use page.summarize for a short version. To read several pages, or to crawl a topic, get the addresses from web.search and call this once per address. Read-only. Paid per call with x402, up to 60 calls a minute per client; a failed call is not charged.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic http or https address of the page to extract; private or local addresses are refused.

Output Schema

NameRequiredDescriptionDefault
urlYesThe page that was read.
markdownYesMain content of the page as markdown, up to 8,000 characters.
truncatedNoTrue if the page was longer than the cap.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint, destructiveHint=false), and the description adds substantial context beyond them: expected latency of 2-5 seconds, truncation at 8,000 characters with a truncated flag, refusal of login-gated pages, x402 per-call payment, a 60 calls/minute per-client rate limit, and that failed calls are not charged. This is exactly the operational detail annotations cannot express.

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?

Front-loads the output contract (markdown, unsummarized, 8,000 char cap, response shape) before operational caveats, then routes to siblings. Every sentence carries distinct, load-bearing information with no filler.

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?

Although an output schema exists and return values need not be described, the description still adds cost, rate-limit, latency, auth, and truncation behavior that structured fields do not capture. For a single-parameter extraction tool, nothing an agent needs to call it correctly is missing.

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 single url parameter is already documented as a public http/https address with private/local addresses refused, so the baseline is 3. The description goes beyond it by specifying that the address must be of the specific page and not a site's home page, a constraint absent from the schema.

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 ('Returns the main text of one public web page as clean markdown'), defines the scope (one page, unchanged, not summarized, 8,000 char cap) and the exact return shape. It explicitly distinguishes itself from page.summarize, so an agent can choose without opening either schema.

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?

Gives explicit when-to-use rules and exclusions: pass a specific page not a home page, login-gated pages cannot be read, use page.summarize for a short version, and for multiple pages or crawling, get addresses from web.search and call once per address. Alternatives and conditions are named rather than implied.

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