Skip to main content
Glama
mobile-debug-mcp

mobile-debug-mcp

wait_for_app_ready

Waits within a bounded timeout for settled UI evidence before app interaction, reporting loading, transitioning, settled, or unknown states plus device readiness for Android and iOS simulators.

Instructions

Wait within a single bounded budget for settled UI evidence. Reports loading, transitioning, settled or unknown with evidence and limitations. Managed Android and supported iOS simulator debugger pauses are reported from debugger evidence; unresponsive detection remains unsupported. Settled normalized foreground UI is not proof of app identity, responsiveness or backend completion. Results include device_readiness with timestamped device blocker evidence. Android reports supported power/keyguard signals; iOS signals may be unknown or explicitly unsupported. Launch/input dispatch success does not establish app visibility or input readiness. No automatic unlock or wake is performed.

Input Schema

NameRequiredDescriptionDefault
deviceIdNo
platformYes
timeoutMsNo
stabilityMsNo
pollIntervalMsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.34.0

TDQS

B3.2/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full behavioral burden and largely delivers: it discloses that managed Android and supported iOS simulator debugger pauses are reported, that unresponsive detection is unsupported, that no automatic unlock or wake occurs, and that settled foreground UI is not proof of app identity or backend completion. The main residual gap is the absence of any note about performance cost, failure/timeout behavior, or what happens to polling when the budget expires.

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 purpose sentence is front-loaded and the limitations follow in a logical progression from platform support to result contents. The prose is dense and some sentences pack multiple caveats (the debugger and device_readiness sentences especially), but nearly every sentence adds a distinct constraint rather than repeating the name.

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?

For a five-parameter tool with no annotations and no output schema, the description does the right thing by sketching the result shape (device_readiness with blocker evidence) and the platform-specific signal guarantees. However, the complete silence on the timing parameters leaves a meaningful hole for a tool whose entire behavior is defined by budgets and stability windows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across five parameters, and the description never mentions deviceId, platform, timeoutMs, stabilityMs, or pollIntervalMs. Only 'single bounded budget' obliquely gestures at timeoutMs; stabilityMs (the settling window) and pollIntervalMs (polling cadence) are entirely undocumented anywhere, forcing the agent to guess at the semantics that distinguish them.

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 states a specific verb and outcome: waiting within a bounded budget for 'settled UI evidence,' and enumerates the reported states (loading, transitioning, settled, unknown). This is far more specific than 'wait for UI,' but it never distinguishes itself from the many sibling wait/readiness tools (wait_for_ui, wait_for_ui_change, get_app_readiness, expect_state), so an agent cannot route between them from this text alone.

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?

There is no explicit when-to-use or when-not-to-use guidance, and no named alternative among the crowded set of sibling tools that also wait on or report UI state. The reader must infer that this tool is for bounded settling rather than a single change event, which is a real ambiguity given wait_for_ui_change and wait_for_ui exist.

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