Skip to main content
Glama

Read a web page as Markdown

read_page
Read-only

Load a public web page in a real browser (JavaScript executed) and return its main content as clean Markdown, with title and metadata. Works on single-page apps and JavaScript-heavy sites. Uses 1 credit from the user's Shotlane account.

Input Schema

NameRequiredDescriptionDefault
urlYesPage URL; https:// is assumed if omitted.
selectorNoOptional CSS selector; convert only this element.
max_charsNoCut the Markdown after this many characters (default 100000).
main_contentNoExtract only the main article/content (drops nav, footer, ads). Set false for the whole page.
include_linksNo
wait_for_selectorNoOptional CSS selector to wait for before extracting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / max_chars
      Added value: +{
      +  "description": "Cut the Markdown after this many characters (default 100000).",
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), so the description's job is to add operational context — and it does: JavaScript is executed in a real browser, title/metadata are included, and it costs 1 account credit. The cost disclosure is genuinely useful and not derivable from annotations; what's missing is any note on failure/timeout behavior for pages that never load.

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?

Three sentences, each earning its place: capability first, then the differentiator (JS-heavy sites), then the cost warning. No redundancy and the most decision-relevant facts are front-loaded.

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?

No output schema exists, but the description states the return shape (clean Markdown with title and metadata), so the agent knows what comes back. Cost and JS execution are covered. Minor gaps around truncation and load-failure behavior are partly handled by the max_chars parameter.

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 description coverage is 83%, with only include_links undocumented, so the structured data carries most parameter meaning. The description echoes the main_content default behavior ('return its main content') but adds no syntax or format guidance for selector, wait_for_selector, or max_chars. Baseline 3 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?

States a specific verb and resource (load a public web page, return main content as Markdown) with the key differentiator of a real browser executing JavaScript. An agent can distinguish this from html_to_pdf (static conversion) and screenshot (image capture) without opening any schema.

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 selection context: 'Works on single-page apps and JavaScript-heavy sites' plus the word 'public', which implicitly excludes authenticated/private pages. It does not name html_to_pdf or screenshot as the alternatives for static or visual needs, so the routing is implied rather than explicit.

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