mcp-android-adb-server logo

mcp-android-adb-server

by github-hewei

An MCP service for operating Android devices via ADB. It allows for application management, screen control, input control, gesture control, device information retrieval, and executing shell commands.

View on GitHub

Last updated: N/A

What is mcp-android-adb-server?

mcp-android-adb-server is an MCP (Metaverse Control Protocol) service that enables control and automation of Android devices through ADB (Android Debug Bridge). It provides a set of functionalities to manage applications, control the screen, simulate user input, perform gestures, retrieve device information, and execute shell commands.

How to use mcp-android-adb-server?

To use the server, first clone the repository and build the executable using go build. Then, configure the server by providing the necessary environment variables such as DEVICE_ID (obtained via adb devices), SCREEN_LOCK_PASSWORD (if applicable), and optionally enable visual model features by providing VISUAL_MODEL_ON, VISUAL_MODEL_API_KEY, VISUAL_MODEL_BASE_URL, and VISUAL_MODEL_NAME. Finally, integrate the server into your MCP environment using the provided configuration example.

Key features of mcp-android-adb-server

  • Application management (install, uninstall, launch, terminate, list, check installation)

  • Screen control (unlock, lock, check lock status, check activity status)

  • Input control (text input, key input, tap, long tap, back)

  • Gesture control (swipe up, down, left, right)

  • Device information retrieval (screen size, DPI, screenshot description, system info)

  • Shell command execution

Use cases of mcp-android-adb-server

  • Automated testing of Android applications

  • Remote control of Android devices

  • Scripted automation of tasks on Android devices

  • Integration with other MCP services for complex workflows

FAQ from mcp-android-adb-server

How do I get the DEVICE_ID?

Use the adb devices command to list connected devices and their IDs.

What is the purpose of SCREEN_LOCK_PASSWORD?

It's used to unlock the device screen if it's locked with a password.

How do I enable visual model features?

Set VISUAL_MODEL_ON to true and provide valid API keys and base URLs for the visual model service.

What visual models are supported?

The example configuration uses qwen/qwen2.5-vl-72b-instruct:free, but other compatible visual models may be used.

What is MCP?

MCP stands for Metaverse Control Protocol, likely a framework for controlling and automating various devices and services.