Skip to main content
Glama
mobile-debug-mcp

mobile-debug-mcp

find_element

Locate a mobile UI element using a semantic query such as text, content description, resource ID, or class, and return the best match with confidence, selection reason, and fallback alternates.

Instructions

Find a UI element by semantic query (text, content-desc, resource-id, class).

Returns the best match plus resolution metadata when available, including confidence, selection reason, and fallback alternates.

Input Schema

NameRequiredDescriptionDefault
exactNoRequire exact match (true/false)
queryYesSearch query (text or label)
deviceIdNoOptional device serial/udid
platformNoOptional platform override
timeoutMsNoTimeout in ms to keep searching

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.34.0
    • addedInput schema / allOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "expectedState"
      +      ]
      +    }
      +  }
      +]
  2. First observedv0.31.0

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It usefully discloses that the result includes the best match plus confidence, selection reason, and fallback alternates when available, but it does not state what happens when no element matches or how the timeoutMs waiting behavior affects the call.

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?

The description is two focused sentences with no filler. It front-loads the core purpose and then adds return-value context in a way that is easy for an agent to scan.

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, read-oriented lookup tool with full schema coverage and no output schema, the description is largely complete: it explains the lookup and summarizes return metadata. It could be stronger by stating no-match behavior and how timeoutMs affects resolution, but the essential invocation context is present.

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

Parameters4/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 exact, deviceId, platform, and timeoutMs. The description still adds meaning beyond the schema by clarifying that query is semantic and can target text, content-desc, resource-id, or class, which is more specific than the schema's 'text or label' phrasing.

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?

The description states a specific verb and resource: find a UI element using a semantic query, and it names the query strategies (text, content-desc, resource-id, class). This distinguishes it from broader siblings such as get_ui_tree or get_current_screen, which list UI structure rather than resolve a single element.

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 description implies when the tool is useful by calling it a semantic element lookup, but it does not explicitly say when to use it instead of get_ui_tree, expect_element_visible, wait_for_ui, or tap_element. There are no explicit exclusions, prerequisites, or alternative-selection rules.

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