Skip to main content
Glama

sassy_screenshot

Capture a PNG screenshot of the current screen to verify the visible state before or after desktop automation actions. Returns the saved image path and pixel dimensions for use in further steps.

Instructions

Read-only with respect to the desktop; writes an image file. Saves a PNG screenshot of the screen and returns its path and pixel dimensions. path defaults to ~/sassymcp_screenshot.png; region is an 'x,y,w,h' string that takes precedence over monitor (a malformed region returns an explicit error instead of falling back to a full screenshot); monitor defaults to -1 (all monitors), 0 for primary, 1+ for others. The save path must pass validation and must not be a protected location. Use it to see the current screen state, especially before or after sassy_click/sassy_type_text; pair with sassy_screen_info for multi-monitor region math. Requires a GUI session; on headless hosts it returns an error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
regionNo
monitorNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

The description goes well beyond the sparse annotations by disclosing key behaviors: malformed regions return explicit errors rather than falling back, path must pass validation and avoid protected locations, monitor and path defaults, and a GUI session is required with an error on headless hosts. This gives the agent strong expectations about side effects and failure modes.

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?

The description is dense but front-loaded with the core purpose, then covers parameters, validation, usage context, and runtime requirements. Each sentence contributes distinct information without unnecessary 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?

For a three-parameter tool with an output schema, the description covers prerequisites, defaults, validation constraints, error behavior, and relationships to sibling tools. Nothing an agent needs to invoke it correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully compensates: it explains path defaulting, region format as 'x,y,w,h', region precedence over monitor, error behavior for malformed regions, and monitor semantics (-1 all, 0 primary, 1+ others). All three parameters receive meaningful semantic context.

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 states a specific verb and resource: 'Saves a PNG screenshot of the screen and returns its path and pixel dimensions.' It also clarifies the nuanced read/write nature and ties usage to related siblings like sassy_click, sassy_type_text, and sassy_screen_info, making it easy to distinguish from other tools.

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 explicit context for when to use the tool: 'Use it to see the current screen state, especially before or after sassy_click/sassy_type_text.' It mentions pairing with sassy_screen_info for multi-monitor math, but it does not provide explicit when-not-to-use guidance or enumerate alternatives beyond those mentions.

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

Deploy Server

Other Tools