About Mcp Android Adb Server
mcp-android-adb-server is an MCP service that operates Android devices through ADB for use by LLMs. It covers app management, screen control, input, gestures and device information, with an optional visual model for screen descriptions.
Key features
- 01Install, uninstall, launch and list apps
- 02Unlock, lock and check screen state
- 03Text input, key presses, taps and long taps
- 04Swipe gestures in four directions
- 05Device information and screen description
Use cases
- 01Automating Android devices through an LLM
- 02Installing and launching apps on a connected device
- 03Obtaining screen descriptions via a visual model
MCP support
As an MCP server, it exposes ADB operations on Android devices as tools for MCP clients to call.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README🚀 mcp-android-adb-server
An MCP service for operating Android devices via ADB.
2025-04-01: Added support for obtaining screen description content using visual models like qwen2.5-vl.
Manual Installation
# clone the repo and build
git clone https://github.com/github-hewei/mcp-android-adb-server.git
cd mcp-android-adb-server
go build
Configuration
{
"mcpServers": {
"mcp-android-adb-server": {
"command": "D:\\www\\golang\\mcp-android-adb-server\\mcp-android-adb-server.exe",
"env": {
"DEVICE_ID": "xxxxx",
"SCREEN_LOCK_PASSWORD": "123456",
"VISUAL_MODEL_ON": "true",
"VISUAL_MODEL_API_KEY": "sk-or-xxxxxxxxxxxxxxxxxxx",
"VISUAL_MODEL_BASE_URL": "https://openrouter.ai/api/v1/",
"VISUAL_MODEL_NAME": "qwen/qwen2.5-vl-72b-instruct:free"
}
}
}
}
Environment Variables
- DEVICE_ID : Required. The ID of the Android device, obtainable via the
adb devicescommand. - SCREEN_LOCK_PASSWORD : Optional. The screen lock password of the device, used to unlock the screen.
- VISUAL_MODEL_ON : Optional. Whether to enable the visual model, defaults to false.
- VISUAL_MODEL_API_KEY : API Key.
- VISUAL_MODEL_BASE_URL : API Base URL.
- VISUAL_MODEL_NAME : Model name.
Features and Tools
Application Management
- install_app : Install an application on the Android device
- uninstall_app : Uninstall an application from the Android device
- terminate_app : Terminate a running application on the Android device
- launch_app : Launch an application on the Android device
- list_app : List all installed applications on the Android device
- is_app_installed : Check if a specific application is installed
Screen Control
- unlock_screen : Unlock the Android device screen
- lock_screen : Lock the Android device screen
- is_screen_locked : Check if the Android device screen is locked
- is_screen_active : Check if the Android device screen is active
Input Control
- input_text : Input text on the Android device
- input_key : Input key press on the Android device
- tap : Perform a tap operation on the screen at a specified position
- long_tap : Perform a long press operation on the screen at a specified position
- back : Perform a back operation
Gesture Control
- swipe_up : Perform a swipe up gesture on the Android device screen
- swipe_down : Perform a swipe down gesture on the Android device screen
- swipe_left : Perform a swipe left gesture on the Android device screen
- swipe_right : Perform a swipe right gesture on the Android device screen
Device Information
- screen_size : Get the screen size of the Android device
- screen_dpi : Get the screen DPI of the Android device
- screenshot_description : Get the Android device screenshot description
- system_info : Get system information of the Android device
Other Functions
- shell_command : Execute a shell command on the Android device
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.