tap_on_text
Tap a UI element by its visible text or content-description. Locates labeled buttons or rows and taps their center, with options for exact matching and accessibility clicks for native views.
Instructions
Find an element by its visible text or content-description and tap its center — the one-shot way to press a labelled button/row without computing coordinates yourself. Runs describe_ui internally and prefers a clickable match. Use exact match (partial=false) to avoid hitting the wrong item when labels overlap. If a coordinate tap lands but nothing happens (e.g. a Compose/RN NativeTabs bar), pass via_accessibility=true to dispatch a real accessibility click instead (EXPERIMENTAL — see that param's description).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text or content-description to find. | |
| serial | No | Target device serial (adb -s). Optional when exactly one device is attached. | |
| partial | No | Substring match instead of exact. Default true. | |
| verify_change | No | Also report whether the UI hierarchy changed after the tap (ui_changed: true/false). Costs two extra hierarchy reads (~2-3s); use when a tap silently doing nothing would send you down the wrong path. | |
| via_accessibility | No | EXPERIMENTAL. Dispatch a real accessibility click (AccessibilityNodeInfo.performAction(ACTION_CLICK)) through the adb-mcp accessibility bridge instead of a coordinate tap — reaches native views (Compose/RN NativeTabs bars, some overlays) that ignore input tap entirely. Requires the bridge installed once per device: run "adb-mcp bridge install" on the host first, or this returns a clear error telling you to. Default false (coordinate tap). |