Skip to main content
Glama

Snapshot UI hierarchy

snapshot_ui
Read-only

Dump the current Android UI as a list of actionable elements with text, IDs, and tap coordinates. Use the filter option to search within text-heavy screens.

Instructions

Dump the current UI as a compact list of actionable elements (text, id, content-desc, tap coordinates). Use the @(x,y) centers with tap/long_press. Text-heavy screens are capped; pass 'filter' to search within them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoOnly include elements whose text/desc/id contains this (case-insensitive)
serialNoDevice serial (defaults to session or the only device)
Behavior4/5

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

With readOnlyHint annotation already covering safety, the description adds valuable behavioral context: output is a 'compact list' rather than a full hierarchy, text-heavy screens are capped, and filter can search within them. These traits go beyond the annotation and help the agent anticipate behavior. No contradictions with annotations.

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 two sentences, front-loaded with a concise statement of purpose and output, followed by a practical tip. Every word earns its place with no repetition of schema or annotation info. Highly efficient and readable.

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?

With no output schema, the description compensates by naming the output fields and the coordinate format, which is essential for using the tool. It also covers the capping behavior and filter usage. Minor details like behavior when no elements match or exactly how 'capped' is handled are absent, but the tool is simple enough that the description is nearly complete.

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?

The schema already provides 100% coverage for both parameters (filter and serial) with clear descriptions. The description reinforces the filter's purpose in the context of capped text-heavy screens but does not add significant additional semantics. Baseline 3 is appropriate given full schema coverage.

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 clearly states the tool's purpose with a specific verb ('Dump') and resource ('current UI as a compact list of actionable elements'). It lists the exact output fields (text, id, content-desc, tap coordinates), distinguishing it from screenshot or UI interaction tools. This is unambiguous and fully differentiates it from siblings.

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 description implies usage by instructing to use the @(x,y) centers with tap/long_press and mentions the filter for capped text-heavy screens. However, it does not explicitly state when to choose this tool over alternatives like screenshot or wait_for_ui, nor does it provide exclusions or alternative recommendations. The guidance is contextually useful but not explicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dev-jackson/androidbuild-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server