Skip to main content
Glama

Capture page screenshot

capture_page_screenshot

Take a screenshot of any URL at a chosen viewport, reusing the live session so cookies and logins persist, and get a saved capture path for visual verification.

Instructions

Screenshot a URL at one breakpoint. Opens or navigates the persistent session — cookies, logins and page state survive across calls, and re-requesting the already-open URL does not reload it. The full-resolution render is always saved under .agent-eyes/captures/ and its path reported; format, quality, maxWidth and sizeMode control what the wire image costs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute URL to open, e.g. http://localhost:5173.
formatNowebp (default) and jpeg are lossy and cheap; png is lossless and 3-5x more tokens.webp
reloadNoReload even if the URL is already open (default reuses it, so it can be stale after an edit).
qualityNoLossy quality 1-100 (default 75). Lower = fewer tokens. Ignored for png.
fullPageNoCapture the whole scrollable page instead of the visible fold. Clipped at 7900px, and the truncation is reported.
maxWidthNoDownscale the returned image to this width before encoding — the strongest token lever. The copy saved to disk stays full resolution.
sizeModeNoWhat goes over the wire: "full-res" (default), or "thumb" for a 480px webp. Disk always gets the full-resolution image.full-res
viewportYesBreakpoint: mobile 393x852, tablet 768x1024, desktop 1440x900, ultrawide 1920x1080.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.29.0

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses session persistence, the fact that re-requesting an open URL avoids reload, that a full-resolution copy is always saved to disk with its path reported, and which parameters affect wire-image cost. This is rich, non-obvious behavioral context that the schema does not convey.

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 with a distinct job: state the purpose, explain session behavior, and clarify disk vs. wire output. It is dense but not bloated, with the most important scoping information 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?

For an 8-parameter tool with no output schema and no annotations, the description covers the critical operational context: session persistence, reload avoidance, disk-save behavior, and cost levers. It doesn't fully specify the response shape, but it does state that the path is reported and the image is what goes over the wire, which is sufficient to invoke the tool correctly.

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 baseline is 3. The description adds a useful high-level framing—format, quality, maxWidth, and sizeMode together control wire cost—but it does not add per-parameter semantics beyond what the schema already provides.

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 first sentence states a specific verb (Screenshot), a resource (a URL), and a clear scope (one breakpoint). It implicitly differentiates the tool from siblings like matrix_responsive_audit and find_breakpoints, which target multiple viewports, and from capture_element, which targets an element rather than 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?

The description provides clear context: it captures a single breakpoint, relies on a persistent session that carries cookies/logins/state, and gives cost-control guidance. It does not explicitly name sibling alternatives or state when not to use this tool, so it stops short of a 5.

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