mobile-next/mobile-mcp

mobile-next/mobile-mcp

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

Mobile Next - MCP server for Mobile Development and Automation | iOS, Android, Simulator, Emulator, and Real Devices

This is a Model Context Protocol (MCP) server that enables scalable mobile automation, development through a platform-agnostic interface, eliminating the need for distinct iOS or Android knowledge. You can run it on emulators, simulators, and real devices (iOS and Android). This server allows Agents and LLMs to interact with native iOS/Android applications and devices through structured accessibility snapshots or coordinate-based taps based on screenshots.

Mobile Next Stars npm Install in VS Code wiki join on Slack

https://github.com/user-attachments/assets/bb084777-beb3-4930-ae6f-8d3fe694ddde

mobile-mcp

🚀 Mobile MCP Roadmap: Building the Future of Mobile

Join us on our journey as we continuously enhance Mobile MCP! Check out our detailed roadmap to see upcoming features, improvements, and milestones. Your feedback is invaluable in shaping the future of mobile automation.

👉 Explore the Roadmap

Main use cases

How we help to scale mobile automation:

Инструменты были проиндексированы:
mobile_allocate_remote_deviceвнешний мир

Резервирует физическое устройство из удалённого облачного парка для эксклюзивного использования и возвращает идентификатор устройства, который можно использовать с другими инструментами mobile_*. В отличие от локальных устройств, удалённое устройство - это общий и платный ресурс, взятый на время сессии: вызывайте этот инструмент только после того, как пользователь явно попросил использовать удалённое/облачное устройство, и никогда - на всякий случай или как запасной вариант, когда локальное устройство не найдено. Требует, чтобы сначала был вызван mobile_login_to_cloud_provider; если вызов этого инструмента завершится ошибкой аутентификации, вызовите mobile_login_to_cloud_provider и повторите попытку. Сначала вызовите mobile_list_remote_devices, чтобы посмотреть, какие имена и версии реально есть в парке, прежде чем фильтровать по ним. Освободите устройство с помощью mobile_release_remote_device, когда вся задача будет завершена: при освобождении состояние устройства стирается, поэтому не освобождайте и не выделяйте его заново между шагами одной и той же задачи просто для порядка.

Выделяет удалённое устройство

Параметры
  • namestring

    Filter by device name/model. Supports a trailing * for prefix match (e.g. "iPhone*"), or an exact name (e.g. "iPhone 16").

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

    The platform to allocate a device for

  • timeoutSecondsinteger

    Seconds to wait for allocation when wait is true. Defaults to 900 (15 minutes). Only relevant when wait is true.

  • typeenum

    Device type filter. Currently only "real" (physical devices) is supported by the fleet.

  • versionstring[]

    Filter by OS version. Supports comparison prefixes >=, >, <=, < (e.g. ">=18"), or an exact version (e.g. "18.6.2"). Multiple values are ANDed together.

  • waitboolean

    If true, block until the device has finished allocating and is ready to use, up to timeoutSeconds. If false/omitted, this returns as soon as the reservation is made, but the device may not be immediately ready.

mobile_batch_commandsвнешний мир

Run multiple tools in sequence in a single call, e.g. click, type, click, type. Use this to fill forms or perform multi-step flows without round-trips. The device argument is applied to every step unless a step provides its own.

Batch Commands

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • listElementsAtEndboolean

    Run mobile_list_elements_on_screen after the last step and include its result. Defaults to false

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

    Tools to run, in order

  • stopOnErrorboolean

    Stop at the first failing step. Defaults to true

mobile_click_on_screen_at_coordinatesвнешний мир

Click on the screen, either at x,y coordinates or on an element by its ref (e.g. "@e5") from the latest mobile_list_elements_on_screen result. Prefer ref when the element is listed.

Нажимает на экран

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • refstring

    Element ref from mobile_list_elements_on_screen, e.g. "@e5". Takes precedence over x,y

  • xnumber

    The x coordinate to click on the screen, in pixels. Required unless ref is given

  • ynumber

    The y coordinate to click on the screen, in pixels. Required unless ref is given

mobile_clipboard

Read or replace the device clipboard. Pass text to set the clipboard, omit it to read the current clipboard.

Clipboard

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • textstring

    Text to place on the clipboard. Omit to read the clipboard instead.

mobile_double_tap_on_screenвнешний мир

Дважды нажимает на экран в заданных координатах x, y.

Двойное касание экрана

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The x coordinate to double-tap, in pixels

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

    The y coordinate to double-tap, in pixels

mobile_get_crashтолько чтениевнешний мир

Получает полное содержание отчёта о краше по его ID. Используйте mobile_list_crashes, чтобы найти доступные ID краш-отчётов.

Получает отчет о сбое.

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The crash report ID to retrieve

mobile_get_device_logsтолько чтениевнешний мир

Collect live device logs (logcat on Android, unified log on iOS) as one JSON object per line. Only logs emitted after the call starts are captured, so trigger the behavior you want to observe right before or during the call. Stops after limit entries or after 30 seconds of silence. Each line of a stack trace counts as one entry, so filter by process or tag to avoid filling the limit with noise. Start with a small limit (20-50) for a quick look. For large captures, pass saveTo to write logs to a file and only the entry count is returned.

Get Device Logs

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • filterstring[]

    Filters, ANDed together. key=value includes, key!=value excludes. Keys: pid, process, tag, level, subsystem, category, message. Example: ["tag=ActivityManager", "level=Error", "process!=SpringBoard"]

  • limitinteger

    Stop after this many log entries

  • saveTostring

    Path to write the logs to instead of returning them. Filename must end with .log, .txt, or .jsonl

mobile_get_foreground_appтолько чтение

Get the app currently in the foreground on the device. Use this to verify which app or screen you are on before interacting with it.

Get Foreground App

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_get_orientationтолько чтение

Получает текущую ориентацию экрана устройства.

Получает ориентацию

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_get_screen_sizeтолько чтение

Получает размер экрана мобильного устройства в пикселях

Получает размер экрана.

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_install_app

Устанавливает приложение на мобильное устройство.

Установить приложение

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The path to the app file to install. For iOS simulators, provide a .zip file or a .app directory. For Android provide an .apk file. For iOS real devices provide an .ipa file

mobile_launch_appвнешний мир

Запускает приложение на мобильном устройстве. Используйте это, чтобы открыть конкретное приложение. Имя пакета приложения можно узнать, вызвав list_apps_on_device.

Запустить приложение

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • localestring

    Comma-separated BCP 47 locale tags to launch the app with (e.g., fr-FR,en-GB)

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

    The package name of the app to launch

mobile_list_appsтолько чтение

Перечисляет все установленные приложения на устройстве.

List Apps

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_list_available_devicesтолько чтение

Вывести список всех доступных устройств. Сюда входят как физические мобильные устройства, так и мобильные симуляторы и эмуляторы. Возвращает как Android, так и iOS устройства.

Список устройств

Параметры

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

mobile_list_crashesтолько чтениевнешний мир

Выводит список отчётов о сбоях, доступных на устройстве

Выводит список отчетов о сбоях

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_list_elements_on_screenтолько чтениевнешний мир

List elements on screen with their ref, coordinates, and display text or accessibility label. Use the ref with mobile_click_on_screen_at_coordinates. Refs and coordinates stay valid as long as the screen does not change; re-list only after navigation or a layout change.

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

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • formatenum

    Output format. "text" (default) is one compact line per element, "json" is a json array

mobile_list_remote_devicesтолько чтениевнешний мир

Перечисляет каталог моделей устройств (производитель, платформа, версия ОС), которые можно зарезервировать из удалённого облачного парка устройств. Этот инструмент отличается от mobile_list_available_devices, который перечисляет реальные устройства и симуляторы/эмуляторы, уже подключённые к этой локальной машине и готовые к использованию сразу и бесплатно. Удалённые устройства находятся в общем облачном парке: использовать их нельзя, пока они не зарезервированы с помощью mobile_allocate_remote_device, а резервирование такого устройства может быть ограниченным/платным ресурсом. Требует, чтобы сначала был вызван mobile_login_to_cloud_provider; если этот вызов завершится ошибкой аутентификации, вызовите тот инструмент, а затем повторите попытку.

Перечисляет удаленные устройства.

Параметры

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

mobile_login_to_cloud_providerвнешний мир

Начинает аутентификацию этой машины у облачного провайдера удалённых устройств. Это нужно сделать один раз, прежде чем заработают mobile_list_remote_devices или mobile_allocate_remote_device; если любой из них завершится ошибкой аутентификации, вызовите этот инструмент и повторите попытку. Этот инструмент запускает вход по коду устройства через браузер и быстро возвращает URL и одноразовый код, при этом НЕ ждёт завершения входа. Покажите пользователю URL и код дословно и попросите его открыть URL и ввести код в своём браузере. После того как инструмент вернёт результат, вход продолжает выполняться в фоне; как только пользователь подтвердит, что завершил его, повторно вызовите тот инструмент удалённых устройств, который изначально не сработал. Вызывайте этот инструмент только после того, как пользователь явно попросил подключиться к удалённым/облачным устройствам, войти в них или использовать их; никогда не вызывайте его на всякий случай, так как это прерывает пользователя и требует действий в его браузере.

Войти в облачный провайдер

Параметры

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

mobile_long_press_on_screen_at_coordinatesвнешний мир

Long press on the screen at given x,y coordinates. If long pressing on an element, use the mobile_list_elements_on_screen tool to find the coordinates.

Долгое нажатие на экран

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • durationnumber

    Duration of the long press in milliseconds. Defaults to 500ms.

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

    The x coordinate to long press on the screen, in pixels

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

    The y coordinate to long press on the screen, in pixels

mobile_open_urlвнешний мир

Открывает URL в браузере на устройстве.

Открывает URL

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The URL to open

mobile_press_buttonвнешний мир

Нажмите кнопку на устройстве

Нажмите кнопку

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

    The button to press. Supported buttons: BACK (android only), HOME, VOLUME_UP, VOLUME_DOWN, ENTER, DPAD_CENTER (android tv only), DPAD_UP (android tv only), DPAD_DOWN (android tv only), DPAD_LEFT (android tv only), DPAD_RIGHT (android tv only)

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_release_remote_deviceвнешний мир

Освобождает устройство, ранее зарезервированное с помощью mobile_allocate_remote_device, обратно в удалённый облачный парк, чтобы оно снова стало доступно другим. Освобождение разрушительно для состояния устройства: установленные приложения, отправленные файлы и любые другие изменения, сделанные во время этого сеанса, теряются, а последующий вызов mobile_allocate_remote_device может занять время и вернуть другое физическое устройство. Освобождайте устройство только после полного завершения задачи: если в ближайшее время предстоит ещё работа на этом же устройстве, продолжайте удерживать его, а не освобождайте и выделяйте заново.

Освобождает удалённое устройство

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

    The device identifier to release back to the remote fleet

mobile_save_screenshot

Сохраняет скриншот мобильного устройства в файл

Сохраняет скриншот

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • maxSizeinteger

    Maximum width/height in pixels, keeping aspect ratio. Omit for full size.

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

    The path to save the screenshot to. Filename must end with .png, .jpg, or .jpeg

  • scalenumber

    Scale factor (0.0-1.0). Ignored if maxSize is provided.

mobile_set_location

Override the GPS location reported by the device, or clear the override to restore the real location. Omit latitude and longitude to clear.

Set Location

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • latitudenumber

    Latitude in decimal degrees, e.g. 37.7749. Omit together with longitude to clear the override.

  • longitudenumber

    Longitude in decimal degrees, e.g. -122.4194. Omit together with latitude to clear the override.

mobile_set_orientation

Изменяет ориентацию экрана устройства

Устанавливает ориентацию.

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The desired orientation

mobile_start_screen_recording

Начать запись экрана мобильного устройства. Запись работает в фоне, пока её не остановить с помощью mobile_stop_screen_recording. Возвращает путь, по которому будет сохранена запись.

Начать запись экрана

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • outputstring

    The file path to save the recording to. Filename must end with .mp4. If not provided, a temporary path will be used.

  • timeLimitnumber

    Maximum recording duration in seconds. The recording will stop automatically after this time.

mobile_stop_screen_recording

Останавливает активную запись экрана на мобильном устройстве. Возвращает путь к файлу, размер и примерную длительность записи.

Останавливает запись экрана.

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

mobile_swipe_on_screenвнешний мир

Проведите пальцем по экрану.

Смахните по экрану

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The direction to swipe

  • distancenumber

    The distance to swipe in pixels. Defaults to 400 pixels for iOS or 30% of screen dimension for Android

  • xnumber

    The x coordinate to start the swipe from, in pixels. If not provided, uses center of screen

  • ynumber

    The y coordinate to start the swipe from, in pixels. If not provided, uses center of screen

mobile_take_screenshotтолько чтениевнешний мир

Делает снимок экрана мобильного устройства. Использует его, чтобы понять, что на экране. Если необходимо нажать на элемент, доступный через иерархию представлений, то вместо этого нужно перечислить элементы на экране. Не кэширует этот результат.

Делает скриншот

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

  • maxSizeinteger

    Maximum width/height in pixels, keeping aspect ratio. Defaults to 1024.

  • scalenumber

    Scale factor (0.0-1.0). Ignored if maxSize is provided.

mobile_terminate_app

Останавливает и завершает приложение на мобильном устройстве

Завершает приложение

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    The package name of the app to terminate

mobile_type_keysвнешний мир

Вводит текст в сфокусированный элемент

Вводит текст

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

    Whether to submit the text. If true, the text will be submitted as if the user pressed the enter key.

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

    The text to type

mobile_uninstall_app

Удалить приложение с мобильного устройства

Удалить приложение

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

    Bundle identifier (iOS) or package name (Android) of the app to be uninstalled

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

    The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

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

martingeidobler/android-mcp-server

martingeidobler/android-mcp-server

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

TypeScript66
webdriverio/mcp

webdriverio/mcp

официальный

Управляйте браузерами и мобильными приложениями через WebDriverIO с MCP-сервером. Автоматизируйте Chrome, Firefox, Edge, Safari, iOS и Android: навигация, клики, скриншоты. Оптимален для тестирования.

TypeScript38
callstackincubator/agent-device

callstackincubator/agent-device

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

TypeScript4505
ios-simulator-mcp

ios-simulator-mcp

MCP-сервер для iOS-симуляторов: управление UI-элементами, скриншоты, запись видео и установка приложений. Помогает QA-инженерам и разработчикам автоматизировать тестирование интерфейсов с помощью И...

JavaScript2169
Neverlow512/agent-droid-bridge

Neverlow512/agent-droid-bridge

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

Python22
todah-zg/codemagic-mcp

todah-zg/codemagic-mcp

AI-агенты полностью управляют CI/CD для мобильных iOS и Android: от подключения репозитория в Codemagic до сборки, подписания и публикации в App Store и Google Play. Всё через единый MCP-сервер.

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

Лука Никитин