Как заставить ИИ управлять смартфоном вместо вас

09 апр 2026
6,613
569
44
1 день

Представьте, что вы сидите в любимом редакторе кода, и вам нужно проверить, как новая фича выглядит на реальном Android-устройстве или в симуляторе iOS. Обычно это превращается в квест: найти девайс, разблокировать, свайпнуть туда, нажать сюда. А что, если просто написать в чате: «Открой моё приложение, пройди регистрацию и сделай скриншот личного кабинета»?

Именно эту задачу решает проект mobile-mcp. Это сервер, работающий по протоколу Model Context Protocol (MCP), который превращает ваш смартфон или эмулятор в послушного исполнителя для больших языковых моделей.

Что это вообще такое

Разработчики из Mobile Next создали прослойку, которая позволяет агентам (вроде Claude, Cursor или командной строки Gemini) «видеть» экран мобильного устройства и взаимодействовать с ним. Главная фишка здесь в универсальности. Инструменту плевать, пишете вы под iOS или Android. Он предоставляет единый интерфейс для управления обоими мирами, избавляя от необходимости жонглировать специфичными командами adb или xcrun simctl.

Проект пригодится не только для автоматизации тестирования. Это полноценный мостик для создания ИИ-агентов, которые могут выполнять сложные пользовательские сценарии: от заказа еды до настройки календаря.

Как это работает внутри

Инструмент не просто делает скриншоты и пытается угадать, куда нажать. Он использует дерево доступности (accessibility tree). Это структурированные данные о каждом элементе на экране: кнопках, текстовых полях, списках.

Реклама

Если же приложение написано так, что дерево доступности пустое (привет, кастомные отрисовки), сервер переключается в режим «зрения». Он анализирует скриншот, находит нужные координаты и имитирует нажатие. Такой гибридный подход делает автоматизацию детерминированной там, где это возможно, и гибкой там, где стандартные методы пасуют.

Что умеет mobile-mcp

Список инструментов впечатляет. По сути, у ИИ появляются «руки» и «глаза» внутри системы:

  • Управление устройствами: можно вывести список всех подключенных девайсов (симуляторов, эмуляторов, реальных айфонов или пикселей), узнать разрешение экрана или сменить ориентацию с портретной на ландшафтную.
  • Работа с приложениями: установка .apk или .ipa файлов, запуск по бандл-айди, принудительная остановка и удаление.
  • Взаимодействие с UI: клики по координатам, двойные тапы, длинные нажатия и свайпы в любом направлении.
  • Ввод данных: эмуляция нажатий клавиш (включая системные кнопки вроде HOME или BACK) и набор текста.

Особенно круто выглядит возможность mobile_list_elements_on_screen. Она возвращает список всех видимых элементов с их свойствами. Для LLM это идеальный формат данных, чтобы понять контекст и решить, что делать дальше.

Архитектура решения

Схема взаимодействия выглядит логично. Сервер выступает посредником между MCP-клиентом (вашей IDE или чат-ботом) и драйверами платформ.

Для iOS используется WebDriverAgent — стандарт де-факто в мире автоматизации Apple. Для Android задействован ADB и UI Automator. Весь этот «зоопарк» скрыт за лаконичным API на TypeScript.

Как запустить у себя

Проще всего интегрировать сервер через npx. Если вы пользуетесь Cursor, Claude Desktop или VS Code с расширением Amp, достаточно добавить небольшой конфиг:

{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": ["-y", "@mobilenext/mobile-mcp@latest"]
    }
  }
}

Для работы понадобятся установленные Xcode Command Line Tools и Android Platform Tools. Без них магии не случится, так как серверу нужны нативные утилиты для связи с устройствами.

Интересная деталь: сервер может работать не только через стандартный ввод-вывод (stdio), но и в режиме SSE (Server-Sent Events). Это позволяет вынести мобильную ферму на отдельный сервер и подключаться к ней удаленно. Можно даже защитить соединение Bearer-токеном.

Практические кейсы

Разработчики предлагают использовать это для «супер-скриптов». Например, можно попросить агента: «Найди в App Store приложение Pomodoro с рейтингом выше 4 звезд, установи его, зарегистрируйся на мою почту и запусти таймер на 25 минут».

Или более приземленный вариант для работы: «Открой наше тестовое приложение, перейди в корзину и проверь, не поехала ли верстка кнопки оплаты при повороте экрана». Это экономит кучу времени на рутинных проверках.

Стоит ли пробовать

Если вы занимаетесь мобильной разработкой или QA, то однозначно да. Проект активно растет, у него понятный роадмап и живое сообщество в Slack.

Конечно, есть нюансы. Настройка реальных iOS-устройств всё еще требует танцев с бубном вокруг сертификатов и WebDriverAgent, но это проблема самой платформы Apple, а не авторов библиотеки. В остальном — это один из самых понятных и полезных способов применить мощь LLM в мобильной разработке прямо сейчас.

Загляните в репозиторий проекта, там в Wiki лежат примеры промптов, которые заставляют ИИ бронировать тренировки или отправлять сообщения в мессенджерах. Выглядит как будущее, которое уже наступило.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.