Skip to main content
Glama
MCP Appium

MCP Appium

appium_wait_for

Read-only

Polls until a mobile locator is present or gone, replacing repeated find-element retries after navigation.

Instructions

Poll until a locator is present (or gone). Use instead of retrying find_element after navigation.

Input Schema

NameRequiredDescriptionDefault
untilNoDefault present.
locatorYesid=..., desc=..., text=..., xpath=..., uia=... or pred=...
sessionIdNoSession ID; defaults to the active session.
timeoutSecNoDefault 15.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.99.3

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that the tool polls, which is useful behavioral context. However, it omits critical wait semantics: polling interval, what happens on timeout (throw vs. return null/false), and whether the matched element is returned — none of which is recoverable from an output schema, since none exists.

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 short sentences, zero filler, with the core action stated first and the routing guidance second. Nothing could be trimmed without losing information.

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 four fully documented params and no output schema, the definition is close to sufficient, but a wait tool's most important contract — timeout behavior and what is returned on success versus failure — is left entirely unstated. An agent cannot tell whether it must follow this with a find call or whether the element comes back directly.

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 100%, so the schema already documents locator syntax, the until enum, sessionId defaulting, and the 1-120s timeout range. The description only echoes the present/gone duality; it adds no additional meaning, so the baseline 3 applies.

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 (poll/wait) and resource (a locator) plus the two conditions it supports (present or gone). It also implicitly distinguishes itself from appium_find_element by naming 'retrying find_element' as the thing it replaces.

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?

Gives an explicit usage rule: use this instead of retrying find_element after navigation. That names both the context and the alternative. It stops short of stating when NOT to use it (e.g., when you need the element handle itself, which presumably requires appium_find_element).

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