Skip to main content
Glama

browser_snapshot

Read-only

Capture an accessibility snapshot of the current page to get structured, text-based page content instead of relying on screenshots for analysis.

Instructions

Capture accessibility snapshot of the current page, this is better than screenshot

Input Schema

NameRequiredDescriptionDefault
boxesNoInclude each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)
depthNoLimit the depth of the snapshot tree
targetNoExact target element reference from the page snapshot, or a unique element selector
sessionNoSession id (default "default"). Each session is an isolated browser (own cookies, tabs) that runs in parallel with the others. Created on first use.
filenameNoSave snapshot to a file instead of returning it in the response. Relative file names are resolved against the workspace root.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description contributes the relative-value claim versus screenshots, but says nothing about snapshot size, verbosity, truncation, or what the returned tree looks like — relevant for a tool with no output schema.

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?

A single compact sentence with no wasted words; the purpose leads and the comparative claim follows. The run-on comma splice makes it slightly less polished but not less usable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only browser tool with five optional parameters and no output schema, the agent is left guessing about the return format (text accessibility tree) and whether output can be large enough to warrant the filename option. Adequate but thin given the parameter surface.

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 every parameter (boxes, depth, target, session, filename) is already documented in the schema. The description adds no additional semantics, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Capture accessibility snapshot of the current page'. It also positions the tool relative to a sibling capability ('better than screenshot'), though it does not name the actual sibling tool (browser_take_screenshot) or browser_find.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'this is better than screenshot' implies a preference over browser_take_screenshot but gives no condition under which the alternative is still correct, and no guidance on when to prefer browser_find or browser_evaluate for extracting page data.

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