SimUtil — MCP для эмуляторов и симуляторов
SimUtil
Десктопное приложение и CLI для Android-эмуляторов, iOS-симуляторов и телефонов с MCP-сервером для агента
- 1 201 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент нажимает, печатает и снимает экран на устройствах, в том числе на живых телефонах с вашими аккаунтами
- Запись экрана и скриншоты могут захватить личные данные, открытые на устройстве
Установка
- Работает в
Ручная установка
claude mcp add --transport http simutil http://127.0.0.1:8765/mcpСначала запустите десктопное приложение SimUtil: сервер живет внутри него.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент нажимает, печатает и снимает экран на устройствах, в том числе на живых телефонах с вашими аккаунтами
- Запись экрана и скриншоты могут захватить личные данные, открытые на устройстве
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
SimUtil собирает в одном месте рутину мобильной разработки: запуск эмуляторов и симуляторов, показ нескольких устройств рядом, запись экрана и сценарные проверки. Для этого не нужно открывать Android Studio и Xcode. Приложение работает на macOS, Linux и Windows. MCP-сервер встроен в десктопное приложение и доступен только на локальной машине. Через него агент видит список устройств, запускает и останавливает их и выводит в общую сетку. Ввод идет нажатиями, свайпами и кнопками с координатами от 0 до 1, съемка — скриншотами и записью одного устройства или всей сетки. Отдельный инструмент переводит iOS-симулятор в облегченный режим. run_scenario выполняет одни и те же шаги сразу на нескольких Android- и iOS-устройствах. Кроме приложения есть консольная утилита simutil с выводом JSON и описанием всех команд для скриптов и агентов.
Для кого. Для мобильных разработчиков и тестировщиков, которые работают с Claude Code, Codex или Cursor и хотят отдать агенту запуск устройств, нажатия и съемку экрана.
Подходит, если
- Прогнать один сценарий нажатий и свайпов сразу на нескольких Android- и iOS-устройствах и сравнить время
- Попросить агента запустить нужный эмулятор без окна и сделать скриншот экрана после правки
- Записать видео работы приложения на всех устройствах сетки, чтобы показать баг команде
- Проверить поведение интерфейса на живом Android-телефоне по USB или Wi-Fi через агента
- Освободить память: перевести iOS-симуляторы в облегченный режим перед серией запусков
Не подходит, если
- Нужно управлять iPhone или iPad как на симуляторе: живые устройства Apple показываются только для просмотра, снимков и записи
- Работа идет на Linux или Windows и требуется iOS: инструменты Apple есть только в macOS с Xcode
- Нужен готовый набор проверок интерфейса с утверждениями и отчетами: для этого лучше подойдет тестовый фреймворк, а SimUtil дает управление устройствами
Пример запроса к агенту
Запусти два Android-эмулятора и iPhone-симулятор, выполни на них сценарий из трех свайпов и пришли скриншоты.MCP
- Транспорт
- http
- Авторизация
- не нужна
Переменные окружения
SIMUTIL_MCP_PORT- Порт локального MCP-сервера вместо 8765
Ограничения
MCP-сервер работает, только пока запущено десктопное приложение SimUtil. Порт 8765 меняется переменной SIMUTIL_MCP_PORT. Для Android нужен adb, для записи нужен ffmpeg, для iOS нужны macOS и Xcode. Android Studio с эмулятором приложение не ставит.
Сборки для macOS не подписаны: если система сообщает, что приложение повреждено, один раз выполните `xattr -dr com.apple.quarantine /Applications/SimUtil.app`. Запись всей сетки на macOS использует разрешение на запись экрана.
Перевод iOS-симулятора в облегченный режим перезагружает его и закрывает открытые приложения. run_scenario включает этот режим сам, если не передать `"slim": false`.
Как отключить. Удалите сервер из клиента: для Claude Code команда `claude mcp remove simutil`, для остальных уберите запись из файла конфигурации MCP. Чтобы остановить сам сервер, закройте приложение SimUtil.
Частые вопросы
Как подключить SimUtil к Claude Code?
Запустите приложение и выполните `claude mcp add --transport http simutil http://127.0.0.1:8765/mcp`. Для Codex, Cursor, Gemini CLI и VS Code в приложении есть значок вилки в правом верхнем углу: он показывает готовую настройку под выбранного клиента.
Нужен ли Xcode для работы SimUtil?
Для iOS-симуляторов и iPhone нужны macOS и Xcode, потому что приложение вызывает `xcrun simctl` и `xcrun devicectl`. Для Android Xcode не нужен, достаточно adb.
Чем отличается консольная утилита simutil от приложения?
Утилита выводит списки устройств, запускает и останавливает их, подключает Android по Wi-Fi, читает Logcat и запускает ваши инструменты по описанию в YAML. Потоковое управление, запись сетки, студия сценариев и MCP-сервер входят только в десктопное приложение.
Можно ли управлять живыми телефонами?
Настоящие Android-телефоны по USB и Wi-Fi управляются касаниями, свайпами, кнопками и вводом с клавиатуры. Живые iPhone и iPad подключаются по USB на macOS с рамкой устройства, снимками и записью со звуком, но только для просмотра.
Какие шаги поддерживает run_scenario?
Шаги `tap`, `swipe`, `press` и `wait`. Перед запуском все шаги проверяются, а устройства готовятся заранее, чтобы стартовать одновременно. В ответе по каждому устройству есть исход и время начала, конца и шагов.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер для управления iOS и Android: симуляторы, эмуляторы и реальные устройства через дерево доступности и скриншоты
MCP-сервер, который принимает команды на обычном языке и управляет iOS-симулятором через idb: приложения, нажатия, логи
MCP-сервер для iOS Simulator: тапы, свайпы, ввод текста, дерево доступности, скриншоты, видео и управление приложениями
Скилл учит агента управлять iOS-симуляторами, Android-эмуляторами и телефонами по USB через консольную утилиту simvyn
MCP-сервер для управления Android-устройством через ADB: навигация по приложениям, ввод и авто-тесты
Команда npx serve-sim выводит симулятор iOS в браузер и позволяет агенту нажимать, свайпать, вводить текст и подменять камеру
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| SimUtil — MCP для эмуляторов и симуляторов (эта запись) | нет | не нужна | 1 201 | |
| iOS Simulator Skill | нет | 1 303 | скилл со скриптами для сборки iOS-приложений и работы с симулятором, без Android и без потока нескольких устройств | |
| Android MCP Server — управление Android через ADB | нет | не нужна | 811 | MCP-сервер на Python для одного Android-устройства через ADB, без iOS и без записи сетки |
| simvyn — скилл для iOS-симуляторов и Android-эмуляторов | нет | 440 | скилл учит агента управлять iOS-симуляторами |
Коротко о README
Проект состоит из трех частей: десктопного приложения с потоковым показом и MCP, консольной утилиты simutil и пакетов на Dart с общими сервисами adb, simctl и devicectl. Проверка обновлений выполняется раз в сутки и отключается переменной `SIMUTIL_NO_UPDATE_CHECK=1`.