android-mcp
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 | |
| ANDROID_MCP_DEVICE | No | Default device id used when a tool call omits device | |
| ANDROID_MCP_ALLOW_UNSAFE_URLS | No | Set to 1 to allow non-http(s) URLs (e.g. deep links) in android_open_url |
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_list_devicesA | List connected Android devices and emulators with name, Android version, and connection type. Auto-discovers wireless-debugging devices via mDNS when the list is empty. |
| android_connect_wifiA | Connect to an Android device over WiFi ADB. Accepts HOST or HOST:PORT (port defaults to 5555). The device must have wireless debugging or 'adb tcpip 5555' enabled. |
| android_device_infoA | Get details of a device: model, Android version, SDK level, screen size, orientation, battery level, and the current foreground app. |
| android_list_appsA | List installed apps that have a launcher activity (package names). |
| android_launch_appA | Launch an app by package name. Use android_list_apps to find package names. |
| android_terminate_appB | Force-stop a running app by package name. |
| android_install_appC | Install an APK file on the device. |
| android_uninstall_appA | Uninstall an app from the device by package name. |
| android_take_screenshotA | Take a screenshot of the device screen and return it as an image. Use android_list_elements first when you need coordinates of UI elements. Do not cache this result. |
| android_save_screenshotB | Take a screenshot and save it to a PNG file on this computer. |
| android_list_elementsA | List UI elements on the current screen with text, accessibility labels, resource ids, and pixel coordinates. Use this to find where to tap. Do not cache this result. |
| android_wait_for_elementA | Wait until a UI element appears on screen. Use this instead of a fixed sleep when content loads dynamically. Returns element info and center coordinates when found. |
| android_tapA | Tap the screen at x,y pixel coordinates. Use android_list_elements to find element coordinates. |
| android_tap_elementA | Find a UI element by selector and tap its center. More reliable than coordinate taps for dynamic layouts. Waits for the element to appear (default 5s). |
| android_double_tapB | Double-tap the screen at x,y pixel coordinates. |
| android_long_pressC | Long-press the screen at x,y pixel coordinates. |
| android_swipeC | Swipe in a direction. Starts from screen center by default, or from given x,y coordinates. |
| android_dragA | Drag from one point and drop at another (uses a slow swipe that triggers drag behavior). |
| android_type_textA | Type text into the currently focused input field. Tap the field first. ASCII only (adb limitation). |
| android_press_keyA | Press a hardware or navigation key. Common keys: BACK, HOME, ENTER, MENU, APP_SWITCH, POWER, VOLUME_UP, VOLUME_DOWN, DELETE, TAB, DPAD_UP/DOWN/LEFT/RIGHT/CENTER. Any Android KEYCODE_* name or numeric keycode also works. |
| android_open_urlB | Open a URL in the default browser on the device. |
| android_open_notificationsA | Expand the notification shade to inspect notifications. Use android_list_elements or android_take_screenshot afterwards to read them, and BACK key to close. |
| android_set_orientationA | Set the screen orientation (disables auto-rotate). |
| android_start_recordingA | Start recording the device screen in the background. Stop it with android_stop_recording. Max duration is 180 seconds (Android limit). |
| android_stop_recordingA | Stop the active screen recording, pull the video from the device, and save it as an .mp4 file on this computer. |
| android_logcatA | Read recent device logs. Useful for debugging apps (Flutter, React Native, native). The 'crash' buffer contains crash reports. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qalvinahmad/android-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server