martingeidobler/android-mcp-server

martingeidobler/android-mcp-server

от martingeidobler
MCP сервер для управления Android через ADB: AI ассистент видит экран, тапает элементы, читает логи и устанавливает приложения. Включает 25 инструментов для отладки и тестирования без модификации кода. Полезен Android-разработчикам и тестировщикам.

Android MCP Server

npm version npm downloads License: MIT android-mcp-server MCP server Awesome MCP Servers Socket  Badge

MCP server for controlling Android emulators and devices via ADB. Gives AI assistants the ability to see, interact with, and debug Android apps — taking screenshots, tapping elements, reading logs, and documenting bugs.

npm Package | GitHub | Issues

ezgif-3bbb68e918812643 ^ Sped up for better viewing. More demos and test cases.

Features

  • 25 tools for complete Android device control
  • Screenshot capture with intelligent compression (Sharp-based, max 1280px)
  • UI tree inspection — read element hierarchy with bounds, text, resource IDs, and state
  • Touch automation — tap, swipe, scroll, type text, press hardware keys
  • Element targeting — find and tap elements by resource-id, text, or content-desc
  • App lifecycle — install APKs, launch apps, inspect current activity
  • Logcat integration — filter by package, log level, or timestamp
  • Device management — list devices, start emulators, get device info
  • Compound actionstap_and_wait combines tap + settle + UI tree in one round trip
  • Persistent ADB shell — reuses a single shell session for faster command execution
  • Device info caching — queries device properties once per session
  • Multi-device support — target specific devices by ID
  • Zero app modifications — works with any Android app via ADB, no SDK integration needed
adb_shell

Выполняет произвольную команду ADB shell.

Выполняет произвольную команду ADB shell.

Параметры

  • commandstringобязательный

    Shell command to execute on the device

  • device_idstring

    Device ID (optional if only one device)

clear_logs

Очищает буфер Logcat. Вызывает эту команду перед воспроизведением ошибки, чтобы получить чистые логи.

Очищает буфер Logcat. Вызывает эту команду перед воспроизведением ошибки, чтобы получить чистые логи.

Параметры

  • device_idstring

    Device ID (optional if only one device)

double_tap

Выполняет двойное касание по координатам на экране. Полезно для жестов увеличения и взаимодействий с двойным касанием.

Выполняет двойное касание по координатам на экране. Полезно для жестов увеличения и взаимодействий с двойным касанием.

Параметры

  • xnumberобязательный

    X coordinate

  • ynumberобязательный

    Y coordinate

  • interval_msnumber

    Interval between taps in ms (default 100)

  • device_idstring

    Device ID (optional if only one device)

get_current_activity

Получает текущее отображаемое приложение и Activity.

Получает текущее отображаемое приложение и Activity.

Параметры

  • device_idstring

    Device ID (optional if only one device)

get_device_info

Получает сведения об устройстве: модель, производитель, версия Android, уровень API, размер экрана и DPI.

Получает сведения об устройстве: модель, производитель, версия Android, уровень API, размер экрана и DPI.

Параметры

  • device_idstring

    Device ID (optional if only one device)

get_logs

Получает вывод logcat с устройства. Используется для поиска сбоев, исключений и ошибок после воспроизведения бага.

Получает вывод logcat с устройства. Используется для поиска сбоев, исключений и ошибок после воспроизведения бага.

Параметры

  • package_namestring

    Filter logs by app package name (e.g., com.example.app)

  • levelenum

    Minimum log level: V(erbose), D(ebug), I(nfo), W(arn), E(rror), F(atal)

    VDIWEF
  • linesnumber

    Number of recent log lines to return (default 200)

  • sincestring

    Show logs since timestamp (e.g., '2024-01-15 10:30:00.000')

  • device_idstring

    Device ID (optional if only one device)

get_ui_tree

Получает иерархию UI-элементов текущего экрана. Возвращает интерактивные элементы с их bounds, текстом, resource IDs и состоянием. Используйте это для поиска элементов перед нажатием.

Получает иерархию UI-элементов текущего экрана. Возвращает интерактивные элементы с их bounds, текстом, resource IDs и состоянием. Используйте это для поиска элементов перед нажатием.

Параметры

  • device_idstring

    Device ID (optional if only one device)

install_apk

Устанавливает APK-файл на устройство

Устанавливает APK-файл на устройство

Параметры

  • apk_pathstringобязательный

    Local path to the APK file

  • device_idstring

    Device ID (optional if only one device)

launch_app

Запускает Android-приложение по имени пакета.

Запускает Android-приложение по имени пакета.

Параметры

  • package_namestringобязательный

    App package name (e.g., com.android.settings)

  • activitystring

    Activity to launch (optional - launches default if omitted)

  • device_idstring

    Device ID (optional if only one device)

list_avds

Перечисляет доступные Android Virtual Devices

Перечисляет доступные Android Virtual Devices

Параметры

Без параметров.

list_devices

Выводит список подключенных Android-устройств и эмуляторов

Выводит список подключенных Android-устройств и эмуляторов

Параметры

Без параметров.

long_press

Выполняет долгое нажатие по координатам экрана. Полезно для контекстных меню, маркеров перетаскивания и взаимодействий с удержанием.

Выполняет долгое нажатие по координатам экрана. Полезно для контекстных меню, маркеров перетаскивания и взаимодействий с удержанием.

Параметры

  • xnumberобязательный

    X coordinate

  • ynumberобязательный

    Y coordinate

  • duration_msnumber

    Hold duration in ms (default 1000)

  • device_idstring

    Device ID (optional if only one device)

multi_tap

Нажимает на одни и те же координаты несколько раз с фиксированным интервалом. Используйте для спам-нажатий, увеличения счётчиков или тестирования быстрых повторяющихся действий.

Нажимает на одни и те же координаты несколько раз с фиксированным интервалом. Используйте для спам-нажатий, увеличения счётчиков или тестирования быстрых повторяющихся действий.

Параметры

  • xnumberобязательный

    X coordinate

  • ynumberобязательный

    Y coordinate

  • countintegerобязательный

    Number of taps to perform

  • interval_msnumber

    Interval between taps in ms (default 100)

  • device_idstring

    Device ID (optional if only one device)

press_key

Нажмите аппаратную/программную клавишу

Нажмите аппаратную/программную клавишу

Параметры

  • keyenumобязательный

    Key to press

    backhomeentertabdeletemenurecent_appsvolume_upvolume_downpowersearchdpad_updpad_downdpad_leftdpad_rightdpad_center
  • device_idstring

    Device ID (optional if only one device)

pull_file

Извлекает файл с Android-устройства в локальную файловую систему.

Извлекает файл с Android-устройства в локальную файловую систему.

Параметры

  • remote_pathstringобязательный

    Path on the device (e.g., /sdcard/somefile.txt)

  • local_pathstringобязательный

    Local path to save the file to

  • device_idstring

    Device ID (optional if only one device)

screenshot

Делает скриншот Android-устройства. Возвращает изображение для визуального анализа. Опционально сохраняет в файл по указанному пути.

Делает скриншот Android-устройства. Возвращает изображение для визуального анализа. Опционально сохраняет в файл по указанному пути.

Параметры

  • device_idstring

    Device ID (optional if only one device)

  • save_pathstring

    Local file path to save the screenshot PNG (optional)

scroll_to_element

Многократно прокручивает вниз, пока элемент, соответствующий заданным критериям, не станет видимым.

Многократно прокручивает вниз, пока элемент, соответствующий заданным критериям, не станет видимым.

Параметры

  • byenumобязательный

    How to find the element

    resource-idtextcontent-desc
  • valuestringобязательный

    Value to match

  • max_scrollsnumber

    Maximum scroll attempts (default 10)

  • device_idstring

    Device ID (optional if only one device)

start_emulator

Запускает эмулятор Android. Ожидает до 60 секунд его готовности.

Запускает эмулятор Android. Ожидает до 60 секунд его готовности.

Параметры

  • avd_namestringобязательный

    Name of the AVD to start (from list_avds)

swipe

Выполняет жест смахивания на экране.

Выполняет жест смахивания на экране.

Параметры

  • start_xnumberобязательный

    Start X coordinate

  • start_ynumberобязательный

    Start Y coordinate

  • end_xnumberобязательный

    End X coordinate

  • end_ynumberобязательный

    End Y coordinate

  • duration_msnumber

    Swipe duration in ms (default 300)

  • device_idstring

    Device ID (optional if only one device)

tap

Нажимает по указанным координатам экрана.

Нажимает по указанным координатам экрана.

Параметры

  • xnumberобязательный

    X coordinate

  • ynumberобязательный

    Y coordinate

  • device_idstring

    Device ID (optional if only one device)

tap_and_wait

Нажимает элемент, затем ожидает стабилизации UI и возвращает новое дерево UI. Объединяет tap, wait и get_ui_tree в одну быструю операцию.

Нажимает элемент, затем ожидает стабилизации UI и возвращает новое дерево UI. Объединяет tap, wait и get_ui_tree в одну быструю операцию.

Параметры

  • byenumобязательный

    How to find the element to tap

    resource-idtextcontent-desc
  • valuestringобязательный

    Value to match

  • wait_msnumber

    Time to wait for UI to settle after tap (default 1000ms)

  • device_idstring

    Device ID (optional if only one device)

tap_element

Нажимает элемент UI по его resource-id, text или content-desc. Находит элемент в дереве UI и нажимает его центр.

Нажимает элемент UI по его resource-id, text или content-desc. Находит элемент в дереве UI и нажимает его центр.

Параметры

  • byenumобязательный

    How to find the element

    resource-idtextcontent-desc
  • valuestringобязательный

    Value to match

  • device_idstring

    Device ID (optional if only one device)

tap_sequence

Выполняет многошаговую последовательность действий. Поддерживает нажатия, ожидания, ввод текста, нажатия клавиш и свайпы в любом порядке.

Выполняет многошаговую последовательность действий. Поддерживает нажатия, ожидания, ввод текста, нажатия клавиш и свайпы в любом порядке.

Параметры

  • stepsarrayобязательный

    Steps to execute in order

  • device_idstring

    Device ID (optional if only one device)

type_text

Вводит текст в текущее активное поле ввода

Вводит текст в текущее активное поле ввода

Параметры

  • textstringобязательный

    Text to type

  • device_idstring

    Device ID (optional if only one device)

wait_for_element

Ожидает появления элемента интерфейса на экране. Опрашивает каждые 500 мс.

Ожидает появления элемента интерфейса на экране. Опрашивает каждые 500 мс.

Параметры

  • byenumобязательный

    How to find the element

    resource-idtextcontent-desc
  • valuestringобязательный

    Value to match

  • timeout_msnumber

    Timeout in ms (default 10000)

  • device_idstring

    Device ID (optional if only one device)

Другие проверенные MCP-сервера

ahujasid/blender-mcp

ahujasid/blender-mcp

BlenderMCP подключает Claude AI к Blender через Model Context Protocol, позволяя управлять 3D-сценами голосом или текстом. Создавайте, редактируйте объекты, применяйте материалы и выполняйте Python...

Python24437
centralmind/gateway

centralmind/gateway

официальный

CentralMind Gateway за минуты создаёт MCP-сервер или REST API из вашей базы данных для AI-агентов. Поддерживает популярные СУБД, защищает PII, кэширует и мониторит запросы. Ускоряет интеграцию данн...

Go536
bitbonsai/mcp-obsidian

bitbonsai/mcp-obsidian

MCPVault — AI-мост для Obsidian по стандарту MCP. Подключает Claude, ChatGPT и других ассистентов к вашим заметкам с безопасным доступом и защитой frontmatter. Без привязки к одному провайдеру.

TypeScript1547
prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript46
DappierAI/dappier-mcp

DappierAI/dappier-mcp

официальный

Dappier MCP предоставляет быстрый поиск в реальном времени и доступ к премиум-данным от проверенных медиа: новости, финансы, спорт, погода. Идеален для AI-агентов, требующих актуальной информации б...

Python42
zenml-io/mcp-zenml

zenml-io/mcp-zenml

официальный

MCP-сервер для интеграции ZenML с AI-ассистентами. Позволяет просматривать и запускать ML-пайплайны, управлять стеками, компонентами и моделями. Полезен ML-инженерам для оперативного доступа к данн...

Python49
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин