phone-use
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANDROID_HOME | No | Android SDK location, used to locate adb if PHONE_USE_ADB is not set. | |
| PHONE_USE_ADB | No | Absolute path to adb if ADB is not on PATH. Alternatively set ANDROID_HOME. | |
| PHONE_USE_SERIAL | No | Pin the server to a specific Android device serial. Auto-selection works only when exactly one device is attached and authorized. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| phone_devicesA | List ADB devices, including unauthorized and offline devices. |
| phone_statusB | Check connection, Android version, screen dimensions and available capabilities. |
| phone_find_elementsB | Find label, description or resource-ID matches in a fresh UI snapshot. |
| phone_scrollC | Reveal content in a direction with one central swipe, then observe to verify movement. |
| phone_observeB | Read indexed UI elements. IDs are valid only with the returned snapshot. |
| phone_tapB | Tap observed native screenshot coordinates, then observe to verify. |
| phone_tap_elementB | Re-read UI and tap an enabled element only if the snapshot still matches. |
| phone_swipeB | Swipe in screenshot pixels. Equal endpoints produce a long press. |
| phone_press_keyC | Send one named Android navigation/editing key. |
| phone_type_textA | Type printable ASCII into the focused field. No automatic submit or clearing. |
| phone_list_appsC | List installed package identifiers. |
| phone_launch_appB | Launch an installed app by package identifier using its launcher activity. |
| phone_screenshotB | Return a native-resolution PNG image. Use these pixels for coordinate actions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have distinct purposes, but there is some overlap: phone_tap vs phone_tap_element, phone_observe vs phone_find_elements, and phone_swipe vs phone_scroll. The descriptions clarify the differences (coordinate-based vs snapshot-based, raw swipe vs observe-verify), so an agent can distinguish them with care.
All 13 tools use a consistent phone_ prefix followed by a snake_case verb or noun phrase. The pattern is predictable and readable throughout.
13 tools is well within the ideal 3-15 range and each tool covers a distinct capability needed for ADB-based phone automation. No tool feels redundant or out of scope.
The surface covers device discovery, status, UI observation, interaction (tap, swipe, scroll, keys, text), app listing/launching, and screenshots. Minor gaps remain, such as app install/uninstall, file transfer, shell commands, and explicit field clearing, but core phone-control workflows are covered.