Android MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ADB_PATH | No | Custom path to ADB executable (default: uses system PATH) | |
| DEVICE_SERIAL | No | Specific device serial number to target (default: first available device) |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| android_screenshotC | Capture a screenshot from the Android device |
| android_touchC | Simulate a touch event at specific screen coordinates |
| android_swipeC | Perform a swipe gesture between two coordinates |
| android_launch_appC | Launch an Android app by package name |
| android_list_packagesC | List installed packages on the Android device |
| android_uiautomator_dumpB | Dump the UI hierarchy using UIAutomator and return as XML |
| android_uiautomator_findC | Find UI elements by resource ID or text using UIAutomator |
| android_uiautomator_clickC | Click on a UI element by resource ID using UIAutomator |
| android_uiautomator_waitC | Wait for a UI element to appear by resource ID |
| android_uiautomator_set_textB | Set text on a UI element by resource ID using UIAutomator |
| android_uiautomator_clear_textC | Clear text from a UI element by resource ID |
| android_uiautomator_long_clickA | Perform a long click on a UI element by resource ID |
| android_uiautomator_double_clickC | Perform a double click on a UI element by resource ID |
| android_uiautomator_toggle_checkboxC | Toggle a checkbox element by resource ID |
| android_uiautomator_scroll_in_elementC | Scroll within a specific UI element |
| android_start_scrcpy_streamB | Start scrcpy streaming for continuous fast frame capture (requires scrcpy installed) |
| android_stop_scrcpy_streamB | Stop scrcpy streaming |
| android_get_latest_frameB | Get the latest frame from scrcpy stream (instant access, no latency) |
| android_capture_frame_scrcpyB | Capture a single frame via scrcpy (faster than ADB screencap) |
| android_send_key_eventB | Send a key event to the Android device (e.g., KEYEVENT_HOME, KEYEVENT_BACK, KEYEVENT_ENTER) |
| android_input_textA | Input text into the currently focused field on the Android device via ADB |
| android_execute_commandB | Execute a generic ADB command with custom arguments. Allows agents to run any ADB command with their own parameters. |
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 22 tools
Most tools have distinct purposes, but there is some overlap between android_capture_frame_scrcpy, android_get_latest_frame, and android_screenshot, which all capture screen content with different methods and latencies. The UIAutomator tools are well-differentiated for specific UI interactions like clicking, setting text, or toggling checkboxes.
All tool names follow a consistent snake_case pattern with a clear 'android_' prefix and descriptive verb_noun combinations (e.g., android_execute_command, android_uiautomator_click). This predictability makes it easy for agents to understand and select tools based on their names.
With 22 tools, the count is on the higher side for an Android automation server, which might feel heavy but is reasonable given the broad scope covering ADB commands, screen capture, input simulation, and UIAutomator interactions. It borders on being slightly excessive but still manageable.
The toolset provides comprehensive coverage for Android device automation, including ADB command execution, screen capture (via multiple methods), input gestures, app launching, and detailed UIAutomator-based UI interactions. There are no obvious gaps; agents can perform full testing and control workflows without dead ends.