Skip to main content
Glama

aua_wait

Read-onlyIdempotent

Waits for an Android UI selector to become visible or gone (up to 20 seconds) before proceeding, reporting whether the condition was met and current visible matches.

Instructions

Wait at most 20 seconds for a selector to be visible or gone. condition_met reports the requested condition; found reports current visible matches.

Input Schema

NameRequiredDescriptionDefault
stateNovisible
selectorYes
timeout_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and open-world traits, and the description adds genuinely new context: the 20-second ceiling and the meaning of the two return fields condition_met and found. It does not say what happens when the timeout expires without the condition holding, which is the one behavior a waiting tool most needs to disclose.

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?

Two compact sentences with the condition and time bound front-loaded and the return fields second. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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 usefully names condition_met and found, but it omits timeout failure behavior and any guidance on selector matching. For a three-parameter tool with a 0% described schema and a nested selector object, those omissions leave real gaps.

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 0%, so the description must carry the load. It explains the state enum values (visible or gone) and the timeout cap, but says nothing about the nested Selector's twelve matching fields, leaving the most complex parameter undocumented in both schema and description.

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?

The description names a specific verb (wait) and resource (a selector reaching a visible/gone state) plus the hard time cap, which clearly separates it from aua_find or aua_locate. It stops short of naming any sibling explicitly, so the differentiation is implied rather than stated.

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 wait-on-a-condition framing implies the polling use case, but there is no statement of when to prefer this over aua_find, aua_scroll_until, or repeated aua_screen calls. An agent has to infer the alternative-selection rule.

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