iPhone MCP — управляй реальными iPhone и симуляторами через AI-агентов
iPhone MCP — это MCP-сервер, который позволяет AI-агентам (Claude Code, Cursor, Codex, OpenCode и любым совместимым) напрямую взаимодействовать с физическими iPhone и симуляторами на macOS. Под капотом используется WebDriverAgent, что даёт агенту возможность делать тапы, свайпы, вводить текст, делать скриншоты, запускать приложения и многое другое.
Требования
- macOS
- Xcode (установи из App Store или через
xcode-select --install)
- Node.js 18+
- Homebrew
Установка
npm install @blitzdev/iphone-mcp
Быстрый старт
Глобальная настройка (для всех проектов)
npx @blitzdev/iphone-mcp --setup-all
Эта команда установит зависимости и сконфигурирует сервер для Claude Code, Cursor, Codex и OpenCode. Для Cursor не забудь включить blitz-iphone MCP сервер в настройках (Cursor Settings > MCP).
Настройка для одного проекта
cd <твой_проект>
npx @blitzdev/iphone-mcp --setup-here
Выбери, для каких AI-агентов нужна конфигурация. Сервер будет доступен только когда ты откроешь агента внутри этой директории.
Использование
Просто открой новый сеанс с AI-агентом и попроси что-то вроде:
Отсканируй экран симулятора и расскажи, что видишь
Подключись к моему iPhone и протестируй процесс логина
Найди баги в моём приложении: потапай, попробуй граничные случаи, сообщи о странностях
Возможности
| Действие |
Симулятор |
Физический iPhone |
| Тап, свайп, ввод текста |
✅ |
✅ |
| Нажатие кнопок (Home, Lock, Siri) |
✅ |
✅ |
| Сканирование UI-элементов с координатами |
✅ |
✅ |
| Скриншоты |
✅ |
✅ |
| Список и запуск установленных приложений |
✅ |
✅ |
| Автоопределение устройств |
✅ |
✅ |
| Просмотр экрана в браузере в реальном времени |
— |
✅ |
Работа с физическим iPhone
Подключи iPhone через USB или убедись, что он в той же Wi-Fi-сети (домашняя или рабочая сеть подойдёт, публичный Wi-Fi в кафе — нет).
Первоначальная настройка iPhone
- Включи Developer Mode: Настройки > Конфиденциальность и безопасность > Режим разработчика.
- При подключении к компьютеру нажми Trust («Доверять») на iPhone.
После этого скажи агенту:
Подключись к моему iPhone
Агент соберёт и установит WebDriverAgent на телефон (первый раз занимает 1-3 минуты), после чего выдаст URL вида http://localhost:5152?udid=.... Открой его в браузере — увидишь экран телефона в реальном времени.
Работа с симуляторами
Запусти любой симулятор iPhone из Xcode, затем попроси AI-агента:
Какие приложения установлены на симуляторе?
Запусти Safari и открой example.com
Сделай скриншот
Никакой дополнительной настройки не требуется, если ты уже выполнил --setup-all или --setup-here.
Пример сессии
Ты: Протестируй процесс оформления заказа в моём приложении
Агент: Дай-ка я посмотрю, что на экране симулятора.
(вызов scan_ui)
Вижу домашний экран. Сначала запущу твоё приложение.
(вызов launch_app с bundleId "com.myapp")
(вызов get_screenshot)
Приложение открыто на главном экране. Внизу вижу вкладку «Shop». Тапну по ней и пройду весь флоу оформления.
(вызов device_action: tap на вкладке Shop)
(вызов scan_ui)
Вижу список товаров. Добавлю один в корзину...
Справочник MCP-инструментов
Это инструменты, которые AI-агент может вызывать:
get_execution_context — найти доступные симуляторы и iPhone
scan_ui — найти кликабельные элементы (кнопки, ссылки, поля ввода) с координатами
describe_screen — полная иерархия UI (детальнее, чем scan_ui)
device_action — тап, свайп, нажатие кнопок, ввод текста
device_actions — выполнить несколько действий последовательно
get_screenshot — сделать скриншот и вернуть путь к файлу
list_devices — список всех симуляторов и физических устройств
launch_app — запустить приложение по bundle ID
list_apps — список установленных приложений
setup_device — собрать и установить WebDriverAgent на физический iPhone
Ручная конфигурация MCP
Если ты предпочитаешь настраивать всё вручную, добавь соответствующий блок в конфигурационный файл твоего AI-агента.
Claude Code
Добавь в ~/.claude.json (глобально) или .mcp.json (в проекте):
{
"mcpServers": {
"blitz-iphone": {
"command": "npx",
"args": ["@blitzdev/iphone-mcp"]
}
}
}
Cursor
Добавь в ~/.cursor/mcp.json (глобально) или .cursor/mcp.json (в проекте):
{
"mcpServers": {
"blitz-iphone": {
"command": "npx",
"args": ["@blitzdev/iphone-mcp"]
}
}
}
Codex
Добавь в ~/.codex/config.toml (глобально) или .codex/config.toml (в проекте):
[mcp_servers.blitz-iphone]
command = "npx"
args = ["@blitzdev/iphone-mcp"]
OpenCode
Добавь в opencode.json в корне проекта:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blitz-iphone": {
"type": "local",
"command": ["npx", "-y", "@blitzdev/iphone-mcp"],
"enabled": true
}
}
}
Устранение неполадок
- «No booted simulator found» — сначала запусти Simulator.app или выполни
xcrun simctl boot "iPhone 16".
- Физическое устройство не обнаружено — проверь, что включён Developer Mode, телефон подключён по USB и ты нажал «Trust».
- Ошибка сборки WDA — открой Xcode > Settings > Accounts и убедись, что выполнен вход с Apple ID. Xcode требуется signing identity для сборки WDA.
- Ошибки «Connection refused» — возможно, упал idb companion. Запусти
npx @blitzdev/iphone-mcp --setup-all заново для переинициализации.
Лицензия
MIT
Комментарии
Комментариев пока нет. Будьте первым.