
cursortouch/android-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
MCP Server для взаимодействия с устройствами на Android.
Обзор
это лёгкий инструмент с открытым исходным кодом, который объединяет агентов ИИ и устройствами на Android. Работая как MCP-сервер, он позволяет агентам LLM выполнять реальные задачи, например, без использования традиционных конвейеров компьютерного зрения или заранее запрограммированных скриптов. https://github.com/user-attachments/assets/cf9a5e4e-b69f-46d4-8487-0f61a7a86d67 - Взаимодействовать с элементами интерфейса через ADB и API доступности Android: запускать приложения, касаться, свайпать, вводить текст и читать иерархии просмотра. - Работает с любой языковой моделью, не требуется тонкая настройка CV или OCR-конвейер. - Готовые инструменты для жестов, нажатий клавиш, захвата, состояния устройства, выполнения команд shell. - Типичная задержка между действиями (например, два касания) варьируется в зависимости от характеристик устройства и нагрузки. - Python 3.13 - ADB (Android Debug Bridge) - Android 10+ (эмулятор/Android-устройство) Перед запуском сервера убедитесь, что ваше Android-устройство подключено и распознано ADB:
Обзор (машинный перевод)
Ререализация Android-MCP в чистой комнате: MCP сервер, который позволяет агенту ИИ управлять устройством Android поверх ADB.
Ему нужен только adb. На устройство ничего не установлено, и нет никакой зависимости от
uiautomator2.
Беги
Требуется Python 3.13 и adb (платформенные инструменты для Android).
Сервер говорит на MCP на stdio. В конфигурации клиента:
Устройство подключается при первом вызове инструмента, поэтому сервер начинает работу независимо от того, есть ли он Всё ещё привязано.
Выбор устройства
Без вариантов используется первое физическое устройство или эмулятор, когда его нет.
| Вариант | Окружение | Значение |
|---|---|---|
--device SERIAL |
ANDROID_MCP_DEVICE |
Последовательный номер, или host:port для устройства в сети |
--connection auto|usb|wifi (псевдоним --transport) |
ANDROID_MCP_CONNECTION |
Как выбрать, когда ни одно устройство не названо |
--wifi [HOST] |
ANDROID_MCP_HOST |
ADB через Wi-Fi; HOST или HOST:PORT, порт 5555 по умолчанию |
--usb [SERIAL] |
ADB через USB, опционально специальный последовательный |
Опционы побеждают окружающую среду. Другие переменные:
ANDROID_MCP_ADB_PATHназывает бинарныйadb. В противном случаеadbискается наPATH, затем в
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
android-mcp-beta
Clean-room reimplementation of Android-MCP: an MCP server that lets an AI agent operate an Android device over ADB.
It needs only adb. Nothing is installed on the device, and there is no dependency on
uiautomator2.
Run
Requires Python 3.13 and adb (Android platform-tools).
uv run android-mcp-beta
The server speaks MCP on stdio. In a client’s config:
{
"mcpServers": {
"android-mcp-beta": {
"command": "uv",
"args": ["--directory", "D:/Projects/android-mcp-beta", "run", "android-mcp-beta"]
}
}
}
The device is connected on the first tool call, so the server starts whether or not one is attached yet.
Choosing the device
With no options it uses the first physical device, or an emulator when there is none.
| Option | Environment | Meaning |
|---|---|---|
--device SERIAL |
ANDROID_MCP_DEVICE |
A serial, or host:port for a device on the network |
--connection auto|usb|wifi (alias --transport) |
ANDROID_MCP_CONNECTION |
How to pick when no device is named |
--wifi [HOST] |
ANDROID_MCP_HOST |
ADB over Wi-Fi; HOST or HOST:PORT, port 5555 by default |
--usb [SERIAL] |
ADB over USB, optionally a specific serial |
Options win over the environment. Other variables:
ANDROID_MCP_ADB_PATHnames theadbbinary. Otherwiseadbis looked for onPATH, then inANDROID_HOME,ANDROID_SDK_ROOTand the default Android Studio SDK folders.SCREENSHOT_QUANTIZED=truereduces screenshots to 256 colours, which makes them smaller.
Tools
| Tool | Does |
|---|---|
ListDevices, ConnectDevice, Device |
List, choose, or disconnect the device |
Snapshot |
The interactive elements, each with a label and tap coordinates. use_vision adds a screenshot with the labels drawn on it; use_annotation=false leaves it clean |
Click, LongClick, Swipe, Drag |
Touch input by coordinates |
ClickBySelector |
Tap an element found by text, resourceId, className or description (exact match; resourceId may be the part after the slash), with index for the nth match |
Type |
Type into a field. x and y tap it first; clear empties it first. Other scripts and emoji need the optional ADBKeyboard app (below) |
Press |
A button: back, home, recent, volume up, enter, and so on |
Notification |
Pull down the notification shade |
Wait, WaitForElement |
Pause, or wait for an element to appear |
Typing other scripts (optional)
Type uses adb shell input text, so on its own it types printable ASCII and the accented Latin
letters Android can compose (é ñ ü ÿ and 107 others, not ç ß å ø). A newline presses Enter and a
tab presses Tab. For anything else (CJK, Cyrillic, Arabic, emoji, ç), install the
ADBKeyboard app on the device once:
adb install keyboardservice-debug.apk
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"android-mcp-beta": {
"command": "uv",
"args": ["--directory", "D:/Projects/android-mcp-beta", "run", "android-mcp-beta"]
}
}
}