Skip to main content
Glama

ui

Inspect and interact with mobile app UI elements across Android, iOS, and desktop. Access accessibility tree, search elements by text or attributes, perform taps, wait for visibility, and analyze screens.

Instructions

UI inspection and interaction. tree: accessibility tree. find: search elements. find_tap: fuzzy tap (Android). tap_text: tap by text (Desktop). analyze: screen analysis. wait/assert_visible/assert_gone: element checks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
textNoElement text to search/check (partial match, case-insensitive)
labelNoiOS: Find by accessibility label
resourceIdNoAndroid: Find by resource ID (partial match)
classNameNoFind by class name
clickableNoAndroid: Filter by clickable state
visibleNoiOS: Filter by visibility
showAllNoShow all elements including non-interactive (tree only)
compactNoCompact output: only interactive elements, short format (tree only)
formatNoOutput format. semantic = grouped by role, minimal tokens
descriptionNoNatural language description of element to tap (find_tap only)
minConfidenceNoMinimum confidence score 0-100 for find_tap (default: 30)
pidNoProcess ID of target application (tap_text only)
exactMatchNoRequire exact text match for tap_text (default: false)
freshNoForce bypass cache and fetch live UI tree
timeoutNoMax wait time in ms for wait (default: 5000)
intervalNoPoll interval in ms for wait (default: 500)
platformNoTarget platform. If not specified, uses the active target.
deviceIdNoTarget device ID for multi-device. If omitted, uses active device.
walkToClickableNoIf matched element is non-clickable (e.g., a TextView label), walk up to the smallest containing clickable ancestor. Default true. Set false to tap the matched element directly even if non-clickable (rare).
Behavior3/5

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

The description reveals some behavioral traits, such as platform-specific actions ('fuzzy tap (Android)' and 'tap by text (Desktop)'), and lists various action types. However, it lacks details on caching, destructive operations, permissions, or return behavior, which are important given no annotations.

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?

The description is concise, listing actions with one-line explanations. It is well-structured and front-loaded with the general purpose, then each action. No redundant information.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (20 parameters, multiple actions), the description is too brief. It omits important context like when to use each action, return value structure, and interaction with sibling tools. No output schema exacerbates the gap.

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 95% schema description coverage, the schema already provides thorough parameter explanations. The description adds no additional meaning beyond what is in the schema, so it meets the baseline expectation.

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 clearly states 'UI inspection and interaction' and lists specific actions (tree, find, find_tap, etc.), making the tool's purpose evident. However, it does not explicitly differentiate from sibling tools like 'input' or 'screen', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It simply enumerates actions without context on appropriate scenarios, prerequisites, or comparisons to sibling tools.

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/AlexGladkov/claude-in-mobile'

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