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 actions — tap_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обязательный

    Команда оболочки для выполнения на устройстве.

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

clear_logs

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

double_tap

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • interval_msnumber

    Интервал между нажатиями в мс (по умолчанию 100)

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

    Координата X.

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

    Координата Y.

get_current_activity

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

get_device_info

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

get_logs

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • levelenum

    Минимальный уровень логирования: V(erbose), D(ebug), I(nfo), W(arn), E(rror), F(atal)

  • linesnumber

    Сколько последних строк журнала вернуть (по умолчанию 200)

  • package_namestring

    Фильтруйте логи по имени пакета приложения (например, com.example.app).

  • sincestring

    Показывает логи с указанной метки времени (например, '2024-01-15 10:30:00.000')

get_ui_tree

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

install_apk

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

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

    Локальный путь к APK-файлу

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

launch_app

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

Параметры
  • activitystring

    Активность для запуска (необязательно — если не указано, запускается стандартная).

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Имя пакета приложения (например, com.android.settings)

list_avds

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

Параметры

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

list_devices

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

Параметры

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

long_press

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • duration_msnumber

    Продолжительность удержания в мс (по умолчанию 1000)

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

    Координата X.

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

    Координата Y.

multi_tap

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

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

    Количество нажатий для выполнения

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • interval_msnumber

    Интервал между нажатиями в мс (по умолчанию 100)

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

    Координата X.

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

    Координата Y.

press_key

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Клавиша для нажатия

pull_file

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Локальный путь для сохранения файла

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

    Путь на устройстве (например, /sdcard/somefile.txt)

screenshot

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • save_pathstring

    Локальный путь к файлу для сохранения скриншота в формате PNG (необязательно)

scroll_to_element

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

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

    Как найти элемент

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • max_scrollsnumber

    Максимум попыток прокрутки (по умолчанию 10)

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

    Значение для сопоставления

start_emulator

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

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

    Имя AVD для запуска (из list_avds)

swipe

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • duration_msnumber

    Длительность смахивания в мс (по умолчанию 300)

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

    Конечная координата X

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

    Конечная координата Y

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

    Начальная координата X

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

    Начальная координата Y

tap

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Координата X.

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

    Координата Y.

tap_and_wait

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

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

    Как найти элемент для нажатия?

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Значение для сопоставления

  • wait_msnumber

    Время ожидания стабилизации интерфейса после нажатия (по умолчанию 1000 мс)

tap_element

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

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

    Как найти элемент

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Значение для сопоставления

tap_sequence

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Шаги для выполнения по порядку

type_text

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

Параметры
  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

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

    Текст для ввода.

wait_for_element

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

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

    Как найти элемент

  • device_idstring

    Идентификатор устройства (необязательно, если устройство только одно)

  • timeout_msnumber

    Тайм-аут в мс (по умолчанию: 5000)

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

    Значение для сопоставления

1.3.0основная
1.2.1
1.2.0
1.1.0
1.0.0

Выберите клиент, чтобы установить martingeidobler/android-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"martingeidobler-android-mcp-server-7q6x08onz1\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"android-mcp-server\"],\"env\":{\"ANDROID_HOME\":\"/path/to/android/sdk\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add martingeidobler-android-mcp-server-7q6x08onz1 --env ANDROID_HOME=/path/to/android/sdk -- npx -y android-mcp-server

Либо через JSON-конфиг:

claude mcp add-json martingeidobler-android-mcp-server-7q6x08onz1 "{\"command\":\"npx\",\"args\":[\"-y\",\"android-mcp-server\"],\"env\":{\"ANDROID_HOME\":\"/path/to/android/sdk\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add martingeidobler-android-mcp-server-7q6x08onz1 --env ANDROID_HOME=/path/to/android/sdk -- npx -y android-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.martingeidobler-android-mcp-server-7q6x08onz1]
command = "npx"
args = ["-y", "android-mcp-server"]

[mcp_servers.martingeidobler-android-mcp-server-7q6x08onz1.env]
ANDROID_HOME = "/path/to/android/sdk"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите martingeidobler/android-mcp-server, а в поле команды запуска — строку ниже:
npx -y android-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например martingeidobler-android-mcp-server-7q6x08onz1.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: martingeidobler-android-mcp-server-7q6x08onz1
    command: npx
    args:
      - "-y"
      - "android-mcp-server"
    env:
      ANDROID_HOME: /path/to/android/sdk
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "martingeidobler-android-mcp-server-7q6x08onz1": {
      "command": "npx",
      "args": [
        "-y",
        "android-mcp-server"
      ],
      "env": {
        "ANDROID_HOME": "/path/to/android/sdk"
      }
    }
  }
}

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

ios-simulator-mcp

ios-simulator-mcp

от joshuayoes

Управляет iOS-симулятором на Mac: тапает по экрану, вводит текст, свайпает, делает скриншоты и видео, устанавливает и запускает приложения.

JavaScript⭐ 2194
Neverlow512/agent-droid-bridge

Neverlow512/agent-droid-bridge

от neverlow512

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

Python⭐ 22
hyperb1iss/droidmind

hyperb1iss/droidmind

от hyperb1iss

DroidMind связывает AI-ассистентов с Android-устройствами через MCP. Управляйте приложениями, анализируйте логи, автоматизируйте UI и выполняйте shell-команды на естественном языке. Полезен разрабо...

Python⭐ 440
callstackincubator/agent-device

callstackincubator/agent-device

от callstackincubator

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

TypeScript⭐ 5078
joshuarileydev/simulator-mcp-server

joshuarileydev/simulator-mcp-server

от joshuarileydev

MCP-сервер для управления iOS симуляторами: запуск, остановка, установка .app и запуск приложений по bundle ID. Полезен iOS-разработчикам для автоматизации тестирования и CI/CD.

JavaScript⭐ 53
ambar/simctl-mcp

ambar/simctl-mcp

от ambar

MCP сервер для iOS Simulator автоматизирует: управление устройствами и приложениями, отправку push-уведомлений, работу с буфером обмена. Полезен iOS-разработчикам и QA-инженерам для тестирования.

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

Лука Никитин