Xcode-Studio-MCP
xcode-studio-mcp
Унифицированный MCP-сервер для Xcode + iOS Simulator — выполняйте сборку, развертывание, создание скриншотов и взаимодействие с вашим iOS-приложением из Claude Code, Codex, Cursor или любого другого MCP-клиента.
Написан на Swift. Один исполняемый файл. Не требует среды выполнения Node/Python.
Зачем это нужно
Сегодня вам нужно 2-3 отдельных инструмента для выполнения полного цикла разработки iOS с помощью ИИ-агента. xcode-studio-mcp объединяет их в один:
Write code → Build → Deploy to Simulator → Screenshot → Tap/Type → VerifyИнструменты
Инструмент | Описание |
| Сборка проекта Xcode со структурированным выводом ошибок (файл, строка, столбец, серьезность, сообщение) |
| Сборка и запуск приложения в iOS Simulator |
| Захват экрана симулятора в виде PNG-изображения |
| Нажатие по координатам x,y на экране симулятора |
| Ввод текста в текущее активное поле |
| Получение дерева доступности (accessibility tree) текущего экрана (JSON) |
Параметры инструментов
xcode_build
Параметр | Обязательный | Описание |
| Да | Путь к директории проекта Xcode, |
| Нет | Схема сборки (определяется автоматически, если пропущено) |
| Нет |
|
| Нет | Цель сборки (по умолчанию — запущенный симулятор) |
xcode_run
Параметр | Обязательный | Описание |
| Да | Путь к проекту Xcode |
| Да | Идентификатор пакета приложения (например, |
| Нет | Схема сборки (определяется автоматически) |
| Нет | Целевой симулятор (по умолчанию — запущенный) |
simulator_screenshot
Параметр | Обязательный | Описание |
| Нет | Целевой симулятор (по умолчанию — запущенный) |
simulator_tap
Параметр | Обязательный | Описание |
| Да | Координата X |
| Да | Координата Y |
| Нет | Длительность удержания в секундах (для долгого нажатия) |
| Нет | Целевой симулятор |
simulator_type
Параметр | Обязательный | Описание |
| Да | Текст для ввода |
| Нет | Целевой симулятор |
simulator_describe
Параметр | Обязательный | Описание |
| Нет | Целевой симулятор |
Быстрый старт
Предварительные требования
macOS с установленным Xcode
Для инструментов взаимодействия с UI (
tap,type,describe):brew tap facebook/fb && brew install idb-companion pip3 install fb-idb
Сборка
git clone https://github.com/kevinswint/xcode-studio-mcp.git
cd xcode-studio-mcp
swift build -c releaseНастройка Claude Code
Добавьте в настройки MCP вашего Claude Code:
{
"mcpServers": {
"xcode-studio-mcp": {
"command": "/path/to/xcode-studio-mcp/.build/release/XcodeStudioMCP"
}
}
}Пример рабочего процесса
You: Build and run my app at ~/Projects/MyApp
Claude: [calls xcode_build] Build succeeded with 0 errors
[calls xcode_run] App launched (PID 12345)
[calls simulator_screenshot] Here's what the app looks like...
[calls simulator_describe] I can see a "Sign In" button and email/password fields
[calls simulator_tap] Tapped the email field
[calls simulator_type] Typed "test@example.com"
[calls simulator_screenshot] Here's the current state...Архитектура
┌─────────────────────────────┐
│ MCP Protocol Layer │ stdio transport (Swift MCP SDK)
├─────────────────────────────┤
│ Tool Implementations │ 6 tools, structured error output
├──────────┬──────────────────┤
│ xcodebuild│ simctl │ idb │ native process calls
│ wrapper │ wrapper │ CLI │
└──────────┴──────────┴──────┘Написано на Swift без зависимостей от среды выполнения Node/Python (CLI idb требуется только для инструментов взаимодействия с UI).
Дорожная карта
v0.1 (текущая): Базовая сборка + инструменты симулятора
v1.0: Семантическая навигация по UI ("нажми кнопку Sign In"), визуальное сравнение, манипуляция файлами проекта Xcode, составные операции, захват превью SwiftUI
Похожие проекты
Проект | Что делает | Отличие |
Только сборка + тестирование | Нет взаимодействия с UI симулятора | |
Кроссплатформенный UI симулятора | Нет поддержки сборки Xcode | |
Симулятор через IDB | Нет сборки, для всего зависит от IDB |
xcode-studio-mcp объединяет сборку и взаимодействие в одном сервере.
Участие в разработке
PR приветствуются. Кодовая база состоит из ~750 строк Swift, организованных в Tools, Services и Models.
Лицензия
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kevinswint/xcode-studio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server