Skip to main content
Glama

Capture a screenshot from a screen

capture_device_frame

Take a screenshot of one screen now and return it as an image, to check what is actually on the panel. Sends a screenshot command to the player, waits up to about 5 seconds for the new frame, then returns the newest stored frame with fresh (true only when it was taken after this call), latestFrameAt, latestScreenshotId and latestFrameUrl. A slow or offline screen returns its last stored frame with fresh:false (no image if it never sent one); a frame over 2 MB comes back without the inline image. Use screen_health to explain WHY a screen shows something. Requires screen.edit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
screenIdYesScreen to capture, e.g. scr_aurora_42; find ids with search_screens. One screen per call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / screenId / description
      Added value: +"Screen to capture, e.g. scr_aurora_42; find ids with search_screens. One screen per call."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Discloses behavior well beyond the annotations: it sends a command, waits ~5s for a new frame, defines the `fresh` flag semantics, and specifies fallbacks for slow/offline screens (last stored frame, fresh:false) and oversized frames (>2 MB no inline image). It also states the required `screen.edit` permission. This is consistent with readOnlyHint=false, since a command is dispatched to the player.

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?

Front-loaded with the action and its output, then progressively layers timeout, return fields, and fallbacks. Dense but every sentence carries distinct operational information; the return-field enumeration is slightly redundant given an output schema exists.

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?

Covers everything an agent needs: the permission requirement, the wait/timeout, the freshness semantics, and the degraded-path behavior for offline or oversized frames. An output schema exists, so the additional return-field detail is bonus rather than a gap.

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% and the schema already documents screenId with an example and a pointer to search_screens. The description only adds the constraint 'One screen per call,' which the schema already implies via a single required screenId, so baseline 3 applies.

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 ('Take a screenshot of one screen now and return it as an image') with explicit scope ('one screen'). It also distinguishes its role from the diagnostic sibling by directing agents to screen_health for 'WHY' questions.

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 a clear purpose ('to check what is actually on the panel') and names screen_health as the alternative for a related-but-different question. It does not, however, address when to use this versus other screen-state siblings like refresh_screen.

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