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.

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

    Shell command to execute on the device

  • device_idstring

    Device ID (optional if only one device)

clear_logs

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

double_tap

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

  • interval_msnumber

    Interval between taps in ms (default 100)

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

    X coordinate

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

    Y coordinate

get_current_activity

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

get_device_info

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

get_logs

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

  • levelenum

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

  • linesnumber

    Number of recent log lines to return (default 200)

  • package_namestring

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

  • sincestring

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

get_ui_tree

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

install_apk

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

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

    Local path to the APK file

  • device_idstring

    Device ID (optional if only one device)

launch_app

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

Параметры
  • activitystring

    Activity to launch (optional - launches default if omitted)

  • device_idstring

    Device ID (optional if only one device)

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

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

list_avds

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

Параметры

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

list_devices

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

Параметры

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

long_press

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

  • duration_msnumber

    Hold duration in ms (default 1000)

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

    X coordinate

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

    Y coordinate

multi_tap

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

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

    Number of taps to perform

  • device_idstring

    Device ID (optional if only one device)

  • interval_msnumber

    Interval between taps in ms (default 100)

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

    X coordinate

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

    Y coordinate

press_key

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

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

    Key to press

pull_file

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

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

    Local path to save the file to

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

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

screenshot

Делает скриншот 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

  • device_idstring

    Device ID (optional if only one device)

  • max_scrollsnumber

    Maximum scroll attempts (default 10)

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

    Value to match

start_emulator

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

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

    Name of the AVD to start (from list_avds)

swipe

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

  • duration_msnumber

    Swipe duration in ms (default 300)

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

    End X coordinate

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

    End Y coordinate

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

    Start X coordinate

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

    Start Y coordinate

tap

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

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

    X coordinate

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

    Y coordinate

tap_and_wait

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

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

    How to find the element to tap

  • device_idstring

    Device ID (optional if only one device)

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

    Value to match

  • wait_msnumber

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

tap_element

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

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

    How to find the element

  • device_idstring

    Device ID (optional if only one device)

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

    Value to match

tap_sequence

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

  • stepsobject[]обязательный

    Steps to execute in order

type_text

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

Параметры
  • device_idstring

    Device ID (optional if only one device)

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

    Text to type

wait_for_element

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

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

    How to find the element

  • device_idstring

    Device ID (optional if only one device)

  • timeout_msnumber

    Timeout in ms (default 10000)

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

    Value to match

Похожие MCP-сервера

mobile-next/mobile-mcp

mobile-next/mobile-mcp

MCP сервер для мобильной автоматизации iOS и Android на симуляторах, эмуляторах и реальных устройствах. Взаимодействует с приложениями через accessibility-деревья и скриншоты. Подходит для тестирования, data-entry, агентных систем и LLM-сценариев.

TypeScript6638
minhalvp/android-mcp-server

minhalvp/android-mcp-server

MCP сервер для управления Android-устройствами через ADB. Выполняет ADB-команды, захватывает скриншоты и управляет пакетами. Полезен разработчикам и тестировщикам для автоматизации через MCP-клиенты (Claude, Cursor).

Python807
callstackincubator/agent-device

callstackincubator/agent-device

agent-device — CLI для автоматизации устройств, позволяющий AI-агентам открывать приложения на iOS, Android и десктопе, инспектировать UI, взаимодействовать с элементами и собирать отладочную инфор...

TypeScript4505
TCSoftInc/testcollab-mcp-server

TCSoftInc/testcollab-mcp-server

Интегрируйте AI-ассистентов с TestCollab: управляйте тест-кейсами, тест-планами и наборами через API. Полезен тестировщикам и QA-инженерам для работы с тестовой документацией через Claude, Cursor и другие MCP-клиенты.

TypeScript4
Neverlow512/agent-droid-bridge

Neverlow512/agent-droid-bridge

MCP-сервер для подключения AI-агентов к Android-устройствам через ADB. Используется в мобильной автоматизации, тестировании и реверс-инжиниринге: скриншоты, касания, ввод текста, управление приложе...

Python22
agent-hanju/char-index-mcp

agent-hanju/char-index-mcp

MCP сервер для манипуляции строками по символьным индексам. Помогает LLM точно выделять, вставлять или удалять текст на заданных позициях. Идеален для генерации тестового кода и разбора ответов. Включает 12 инструментов - поиск, замена, извлечение подстрок.

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

Лука Никитин