Skip to main content
Glama
JackCaow
by JackCaow

aua_tap

Tap an Android UI element by selector or x/y display pixels; ambiguous matches return candidates and a screenshot. Optionally pass observation_id to verify the same runtime/app/display context.

Instructions

Tap once by selector OR x/y display pixels. Ambiguity returns candidates and a screenshot. Optional observation_id checks same runtime/app/display context. No automatic replay.

Input Schema

NameRequiredDescriptionDefault
xNo
yNo
observeNonone
selectorNo
observation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so mutation and non-idempotence are covered structurally. The description adds real context: ambiguity yields candidates plus a screenshot, observation_id validates the same runtime/app/display, and there is no automatic replay. That is useful but still leaves undefined what a successful tap returns and whether both targeting modes may be supplied.

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?

Four short sentences, front-loaded with the core action and targeting modes, with no filler. The observation_id and replay notes follow logically and each conveys distinct information.

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 five-parameter, zero-required mutation tool with no output schema, the description covers targeting, ambiguity handling, context validation and the absence of replay. The remaining gap is the unspecified precedence when both selector and coordinates appear, or when neither is given.

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?

With schema description coverage at 0%, the description carries the burden and does explain the role of selector, x/y and observation_id. It adds nothing about the 'observe' enum (none/tree/screenshot/both) or the eleven Selector sub-fields (text_contains, resource_id, enabled, etc.), so a majority of parameter semantics remain unstated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Tap once') and enumerates the two targeting modes, selector or x/y display pixels, which is enough to separate it from sibling tools like aua_find or aua_screen_action. It stops short of naming any sibling explicitly.

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 selector-vs-coordinates choice is implied, and 'No automatic replay' hints that retry logic belongs to the caller. There is no explicit guidance on when to reach for this versus aua_screen_action or aua_find, nor on what to do when ambiguity comes back.

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