android-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANDROID_SERIAL | No | Specific device serial number to target (if multiple devices are connected) | |
| ANDROID_ADB_HOST | No | Fallback TCP host:port to auto-connect (default: 127.0.0.1:5555) | 127.0.0.1:5555 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| android_check_connectionA | Check connection status with Android device or emulator, returning model and Android OS version. |
| android_screenshotA | Capture the current screen of the Android device and return it as a base64 PNG image for visual analysis. |
| android_tapC | Tap on specific screen coordinates (x, y). |
| android_swipeB | Perform a swipe or drag gesture from (x1, y1) to (x2, y2). |
| android_type_textB | Type a string of text into the currently active input field on Android. |
| android_press_keyA | Press an Android hardware/system key (BACK, HOME, ENTER, TAB, POWER, VOLUME_UP, VOLUME_DOWN). |
| android_click_by_textB | Smart-click: searches the screen UI hierarchy for an element with matching text or description and taps its center. |
| android_get_ui_treeB | Inspect all visible UI elements on the current Android screen, returning text labels, resource IDs, and bounding coordinates. |
| android_launch_appB | Launch an Android app by its package name (e.g. com.android.settings). |
| android_stop_appB | Force-stop a running Android application. |
| android_list_appsC | List installed application package names on the device. |
| android_shellC | Execute an ADB shell command directly on the Android device. |
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 12 tools
Each tool has a clearly distinct purpose: connection check, screenshot, coordinate tap, swipe, text input, key press, text-based click, UI tree inspection, and app lifecycle commands. The only mild overlap is android_tap vs android_click_by_text and android_shell's broad scope, but descriptions make the boundaries explicit.
Every tool uses the consistent android_ prefix with a verb-based snake_case convention (android_tap, android_type_text, android_launch_app). No deviations or mixed conventions.
12 tools is well-scoped for Android device automation, covering interaction, inspection, and app management without redundancy. Each tool earns its place.
Covers the full core lifecycle: connect, screenshot, input (tap/swipe/type/key/click-by-text), UI inspection, app launch/stop/list, and raw shell. Minor gaps like long-press or explicit scroll/read-field operations exist but are workable via swipe, shell, or UI tree.