Android Control 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 if not in PATH. Defaults to 'adb'. | adb |
| LOG_LEVEL | No | Log level: debug | info | warn | error. | info |
| ADB_TIMEOUT_MS | No | Default ADB timeout in milliseconds. | 15000 |
| ANDROID_DEVICE_ID | No | Target device ID (serial number). If omitted and 1 device is connected, it auto-selects. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| android_device_infoA | Get detailed information about the connected Android device, including device ID, model, manufacturer, Android OS version, SDK level, and screen resolution. |
| android_screenshotA | Capture the current screen of the Android device as a PNG image for visual inspection and AI computer-use reasoning. |
| android_tapB | Tap at specific (x, y) pixel coordinates on the Android device screen. |
| android_swipeA | Perform a swipe / drag gesture between two points (x1, y1) and (x2, y2) with a configurable duration. |
| android_type_textA | Type text into the currently focused Android input field. Handles escaping for spaces and special characters. |
| android_press_keyC | Press an Android hardware or navigation key. Supported keys include: HOME, BACK, CALL, ENDCALL, VOLUME_UP, VOLUME_DOWN, POWER, CAMERA, CLEAR, COMMA, PERIOD, TAB, SPACE, ENTER, DELETE, etc. |
| android_scrollB | Scroll the screen in a specified direction (up, down, left, right). |
| android_launch_appB | Launch an Android application by its package name (e.g. "com.android.settings", "com.google.android.youtube", "com.android.chrome"). |
| android_current_appA | Get the package name and activity of the currently focused foreground Android application. |
| android_ui_dumpA | Dump the current Android screen UI hierarchy using UIAutomator. Returns a structured, compact list of visible and interactive UI elements with their text, resource IDs, and screen bounds. |
| android_find_elementA | Search for UI elements on the current Android screen by visible text, content description, resource ID, or class name. Returns matching elements with their computed center tap coordinates. |
| android_click_elementB | Find and click a UI element on the current Android screen by its visible text, content description, or resource ID. Computes the center of the element and executes a precise tap. |
| android_execute_actionC | Execute a high-level Android action in a single tool call. Supports tap, swipe, type, press_key, click_element, scroll, and launch_app. |
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 clearly distinct purposes, but android_tap, android_click_element, and android_execute_action overlap in interaction, differing only by abstraction level (raw coordinates, element-based, and high-level bundling). Descriptions help disambiguate these, so the overlap is minor.
All tools share the 'android_' prefix, which is good, but the naming pattern is inconsistent: some are bare nouns (screenshot, scroll), some are verb phrases (type_text, launch_app), and some are noun phrases (current_app, device_info). This mix of conventions is still readable but not fully predictable.
With 13 tools, the server is well-scoped for a mobile automation domain, offering both low-level gestures and high-level actions without redundancy. This count is appropriate and each tool earns its place.
The tool surface covers core UI automation: screen capture, interaction (tap, swipe, type, press, scroll), element discovery (ui_dump, find_element, click_element), and app control (launch_app, current_app). Missing advanced gestures like pinch or long-press, but these are not essential for typical agent tasks.