Skip to main content
Glama

screenshot

Capture the Android phone screen via ADB to see what is displayed, optionally boxing and numbering tappable elements so you can tap them by number.

Instructions

Take a screenshot of the phone so you can see what is on screen.

With show_elements=True (default) tappable elements are boxed and numbered on the image, and a numbered list is returned: use tap_element(number) to press one. Coordinates in the list match the image pixels; pass them to tap(x, y) if needed.

Input Schema

NameRequiredDescriptionDefault
show_elementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden and does disclose the key non-obvious behavior: the default mode overlays numbered boxes on the image and returns a matching numbered list, and list coordinates are in image pixel space. It omits things like image format/size, whether the screenshot requires an active device session, and latency/cost, which are meaningful for a no-annotation tool.

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 core action, then the mode-dependent output, then the follow-up call to make — a clean cause-to-effect ordering with no filler. The opening clause 'so you can see what is on screen' is mildly redundant with 'screenshot', but the rest earns its space.

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 a one-parameter, no-output-schema tool this covers the essentials: what is captured, what is returned in each mode, and how to act on it. The main gap is session prerequisites (device selection/connection) given the presence of list_devices and select_device siblings.

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

Parameters4/5

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

Schema coverage is 0% and the single parameter has no schema description, but the description fully compensates by naming the default value and explaining exactly what True does and what the agent should do with the resulting numbering. It only leaves implicit what False returns besides a bare image.

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 the phone') plus the observable outcome ('see what is on screen'). It also implicitly distinguishes itself from get_ui_elements by describing the combined image + numbered-element-list output that no other sibling produces.

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?

Explicitly routes the agent into the intended workflow: with show_elements on, 'use tap_element(number) to press one', and pass listed coordinates to tap(x, y). It does not state when to prefer this over get_ui_elements or note prerequisites such as select_device being called first, which keeps it below a 5.

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