Skip to main content
Glama

browser_snapshot

Read-only

Read a web page as an indented accessibility tree with refs for actionable elements, avoiding screenshots; waits briefly for fetched data and lets you scope large pages by ref or selector.

Instructions

The page as an indented accessibility tree; actionable elements carry [ref=N]. The main way to read a page: cheaper and more exact than a screenshot. Waits briefly for data the page is still fetching. On big pages scope it with ref or selector. Long texts are cut (a line at the top says how much); full_text prints every word.

Input Schema

NameRequiredDescriptionDefault
refNoElement ref from browser_snapshot, e.g. 12
textNoVisible text or label of the element, instead of ref
limitNoMax lines (default 2000)
selectorNoCSS selector (first match), instead of ref
full_textNoTexts, names and values uncut

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.1

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description discloses non-obvious runtime behavior: it 'waits briefly for data the page is still fetching', long texts are truncated with a line at the top reporting how much, and full_text disables that truncation. Truncation and implicit waiting are exactly the traits an agent would otherwise misread as missing data or a stale page.

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?

Six short sentences, each carrying distinct information: output format, positioning versus screenshots, waiting behavior, scoping advice, and truncation handling. The most important framing, what the tool returns, is front-loaded, and there is 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?

There is no output schema, so the description carries the burden of explaining returns, and it does: an indented accessibility tree with [ref=N] markers plus a truncation notice. Combined with the scoping and waiting notes, an agent has everything needed to call this correctly on both small and large pages.

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 100%, so the schema already explains ref, text, limit, selector, and full_text, making 3 the baseline. The description adds only light context, chiefly that ref and selector are for scoping large pages and that full_text prints every word, which mostly restates the schema's 'Texts, names and values uncut'.

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 opens with a concrete verb-and-resource statement: 'The page as an indented accessibility tree'. It names the [ref=N] markers that actionable elements carry, which tells the agent exactly what the output enables, and it distinguishes the tool from browser_screenshot by calling itself 'the main way to read a page'.

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?

It gives clear usage conditions: use this as the primary page-reading tool, prefer it over a screenshot because it is 'cheaper and more exact', and scope it with ref or selector on large pages. It stops short of stating exclusions, such as when a visual check or a screenshot is actually required, so it is not a full when/when-not/alternative treatment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.