Integrations
Provides tools for iOS simulator management including listing simulators, booting them, installing apps, launching apps, capturing logs, automating UI interactions, and taking screenshots.
Supports building and running applications on macOS, including app launching and bundle ID extraction for macOS applications.
Integrates with Sentry for error monitoring and diagnostics to track issues, crashes, and unexpected errors, with options to disable this functionality.
Сервер протокола контекста модели (MCP), предоставляющий инструменты Xcode для интеграции с помощниками на основе искусственного интеллекта и другими клиентами MCP.
Оглавление
- Обзор
- Почему?
- Функции
- Начиная
- Поддержка инкрементальной сборки
- Поиск неисправностей
- Конфиденциальность
- Выборочная регистрация инструмента
- Демо
- Внося вклад
- Лицензия
Обзор
Этот проект реализует сервер MCP, который представляет операции Xcode как инструменты, которые могут быть вызваны агентами ИИ через протокол MCP. Он обеспечивает программное взаимодействие с проектами Xcode через стандартизированный интерфейс, оптимизированный для рабочих процессов разработки, управляемых агентами.
Почему?
Инструмент XcodeBuild MCP существует в первую очередь для оптимизации и стандартизации взаимодействия между агентами ИИ и проектами Xcode. Предоставляя специальные инструменты для общих операций Xcode, он устраняет зависимость от ручных или потенциально некорректных вызовов командной строки.
Это обеспечивает надежный и эффективный процесс разработки, позволяя агентам беспрепятственно использовать возможности Xcode, одновременно снижая риск ошибок конфигурации.
Критически важно, что этот MCP позволяет агентам ИИ независимо проверять изменения кода, создавая проекты, проверяя ошибки и выполняя итерации автономно. В отличие от управляемых пользователем инструментов, таких как Sweetpad, XcodeBuild MCP позволяет агентам эффективно автоматизировать эти рабочие процессы.
Функции
Сервер XcodeBuildMCP предоставляет следующие возможности инструмента:
Управление проектами Xcode
- Откройте для себя проекты : проекты Xcode и обнаружение рабочих пространств
- Операции сборки : платформенно-специфичные инструменты сборки для macOS, симулятора iOS и целевых устройств iOS
- Информация о проекте : инструменты для составления списка схем и отображения настроек сборки для проектов и рабочих пространств Xcode.
- Операции очистки : очистка продуктов сборки с использованием собственного действия очистки xcodebuild
- Поддержка инкрементальной сборки : молниеносные сборки с использованием поддержки инкрементальной сборки (экспериментальная функция, требуется согласие)
Управление симулятором
- Управление симулятором : список, загрузка и открытие симуляторов iOS
- Развертывание приложений : установка и запуск приложений на симуляторах iOS
- Захват журнала : захват журналов времени выполнения симулятора
- Автоматизация пользовательского интерфейса : взаимодействие с элементами пользовательского интерфейса симулятора (бета-версия)
- Скриншот : захват снимков экрана из симулятора (бета-версия)
Утилиты приложений
- Извлечение идентификатора пакета : извлечение идентификаторов пакетов из пакетов приложений iOS и macOS.
- Запуск приложений : запуск созданных приложений как на симуляторах, так и на macOS.
Начиная
Предпосылки
- macOS 14.5 или более поздняя версия
- Xcode 16.x или более поздняя версия
- мис
Настройка одной линии с mise
Для установки mise:
Более подробную информацию о mise можно найти в официальной документации .
Настройка клиентов MCP
Настройте свой клиент MCP (Windsurf, Cursor, Claude Desktop и т. д.) для использования сервера XcodeBuildMCP, изменив конфигурацию MCP вашего клиентского приложения, изменив номер версии в соответствии с версией, которую вы хотите использовать:
[!ПРИМЕЧАНИЕ] При использовании mise избегайте использования тега @latest, так как mise кэширует пакет и может не обновиться до последней версии автоматически. Вместо этого предпочтите явный номер версии.
[!ВАЖНО] Обратите внимание, что XcodeBuildMCP запросит xcodebuild пропустить проверку макросов. Это необходимо для избежания ошибок при сборке проектов, использующих макросы Swift.
Один клик для установки в VS Code
Включение автоматизации пользовательского интерфейса (бета)
Для функций автоматизации пользовательского интерфейса (касание, смахивание, снимок экрана и т. д.) вам необходимо установить idb_companion от Facebook:
Клиент idb также необходим, но XcodeBuildMCP пытается установить его для вас. Если вы обнаружите, что функции автоматизации пользовательского интерфейса по-прежнему недоступны, вы можете установить клиент вручную с помощью следующей команды (предполагается, что у вас установлен Python):
[!ВАЖНО] Обратите внимание, что функции автоматизации пользовательского интерфейса в настоящее время находятся в стадии бета-тестирования, поэтому могут быть некоторые шероховатости. Если у вас возникнут какие-либо проблемы, сообщите о них в трекере проблем .
[!ПРИМЕЧАНИЕ] Отображение изображений в ответах инструмента и встраивание их в контекст чата может поддерживаться не всеми клиентами MCP; в настоящее время известно, что эта функция поддерживается в Cursor.
Поддержка инкрементальной сборки
XcodeBuildMCP включает экспериментальную поддержку инкрементальных сборок. Эта функция отключена по умолчанию и может быть включена путем установки переменной среды INCREMENTAL_BUILDS_ENABLED
в true
:
Чтобы включить инкрементальные сборки, установите для переменной среды INCREMENTAL_BUILDS_ENABLED
значение true
:
Пример конфигурации клиента MCP:
[!ВАЖНО] Обратите внимание, что поддержка инкрементальных сборок в настоящее время является экспериментальной, и ваш пробег может отличаться. Пожалуйста, сообщайте о любых проблемах, с которыми вы сталкиваетесь, в систему отслеживания проблем .
Поиск неисправностей
Если у вас возникли проблемы с XcodeBuildMCP, диагностический инструмент может помочь выявить проблему, предоставив подробную информацию о вашей среде и зависимостях.
Диагностический инструмент
Диагностический инструмент — это автономная утилита, которая проверяет конфигурацию вашей системы и сообщает о состоянии всех зависимостей, требуемых XcodeBuildMCP. Это особенно полезно при сообщении о проблемах.
Использование с mise
Использование с npx
Диагностический инструмент выдаст исчерпывающую информацию о:
- Система и среда Node.js
- Установка и настройка Xcode
- Необходимые зависимости (xcodebuild, idb и т.д.)
- Переменные среды, влияющие на XcodeBuildMCP
- Статус доступности функции
Сообщая о проблемах на GitHub, пожалуйста, приложите полный вывод диагностического инструмента, чтобы помочь в устранении неполадок.
Журналы сервера MCP
Может быть полезно иметь доступ к сообщениям журнала с сервера MCP для выявления любых проблем. Журналы фиксируются клиентским приложением, например, в Cursor:
Курсор:
Если у вашего клиента MCP нет файлов журнала, вы можете запустить сервер напрямую с помощью инструмента MCP Inspector, см. Отладка для получения дополнительной информации о том, как это сделать. После запуска инструмент MCP выводит все сообщения журнала на свою панель ошибок, что может быть полезно при диагностике проблем.
Конфиденциальность
Этот проект использует Sentry для мониторинга и диагностики ошибок. Sentry помогает нам отслеживать проблемы, сбои и неожиданные ошибки для повышения надежности и стабильности XcodeBuildMCP.
Что отправляется в Sentry?
- По умолчанию в Sentry отправляются только журналы ошибок и диагностическая информация.
- Журналы ошибок могут включать такие сведения, как сообщения об ошибках, трассировки стека и (в некоторых случаях) пути к файлам или имена проектов. Вы можете просмотреть источники в этом репозитории, чтобы увидеть, что именно регистрируется.
Отказ от Sentry
- Если вы не хотите отправлять журналы ошибок в Sentry, вы можете отказаться от этого, установив переменную среды
SENTRY_DISABLED=true
.
Пример конфигурации клиента MCP:
Выборочная регистрация инструмента
По умолчанию все инструменты включены, но для некоторых клиентов может быть полезно включить только определенные инструменты, чтобы уменьшить объем контекста, отправляемого клиенту. Этого можно добиться, установив определенные переменные среды в конфигурации MCP ваших клиентов.
После включения одного или нескольких инструментов или групп инструментов все остальные инструменты будут отключены. Например, чтобы включить только инструменты, связанные с симулятором, вы можете установить переменную окружения на XCODEBUILDMCP_GROUP_IOS_SIMULATOR_WORKFLOW=true
это откроет только инструменты для сборки, запуска и отладки на симуляторах
Список доступных инструментов и подробные инструкции по их включению вы найдете в файле TOOL_OPTIONS.md .
Демо
Автономное исправление ошибок сборки в Cursor
Использование новых функций автоматизации пользовательского интерфейса и захвата экрана
Создание и запуск приложения iOS в Claude Desktop
https://github.com/user-attachments/assets/e3c08d75-8be6-4857-b4d0-9350b26ef086
Внося вклад
Вклады приветствуются! Вот как вы можете помочь улучшить XcodeBuildMCP.
Дополнительную информацию о настройке локальной среды и внесении вклада в проект см. в нашем документе «ВКЛАД».
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Проверка сервера MCP
Глама.ай
MseeP.a
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
XcodeBuildMCP
Related MCP Servers
- AsecurityFlicenseAqualityAn MCP server to communicate with the App Store Connect API for iOS DevelopersLast updated -13017TypeScript
- AsecurityAlicenseAqualityBridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.Last updated -9132164TypeScriptMIT License
- AsecurityAlicenseAquality🍎 Build iOS Xcode workspace/project and feed back errors to llm.Last updated -245PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.Last updated -29TypeScript