XcodeBuildMCP

by cameroncooke

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:

# macOS (Homebrew) brew install mise # Other installation methods # See https://mise.jdx.dev/getting-started.html

Более подробную информацию о mise можно найти в официальной документации .

Настройка клиентов MCP

Настройте свой клиент MCP (Windsurf, Cursor, Claude Desktop и т. д.) для использования сервера XcodeBuildMCP, изменив конфигурацию MCP вашего клиентского приложения, изменив номер версии в соответствии с версией, которую вы хотите использовать:

{ "mcpServers": { "XcodeBuildMCP": { "command": "mise", "args": [ "x", "npm:xcodebuildmcp@1.4.0", "--", "xcodebuildmcp" ] } } }

[!ПРИМЕЧАНИЕ] При использовании mise избегайте использования тега @latest, так как mise кэширует пакет и может не обновиться до последней версии автоматически. Вместо этого предпочтите явный номер версии.

[!ВАЖНО] Обратите внимание, что XcodeBuildMCP запросит xcodebuild пропустить проверку макросов. Это необходимо для избежания ошибок при сборке проектов, использующих макросы Swift.

Один клик для установки в VS Code

Включение автоматизации пользовательского интерфейса (бета)

Для функций автоматизации пользовательского интерфейса (касание, смахивание, снимок экрана и т. д.) вам необходимо установить idb_companion от Facebook:

brew tap facebook/fb brew install idb-companion

Клиент idb также необходим, но XcodeBuildMCP пытается установить его для вас. Если вы обнаружите, что функции автоматизации пользовательского интерфейса по-прежнему недоступны, вы можете установить клиент вручную с помощью следующей команды (предполагается, что у вас установлен Python):

pipx install fb-idb==1.1.7

[!ВАЖНО] Обратите внимание, что функции автоматизации пользовательского интерфейса в настоящее время находятся в стадии бета-тестирования, поэтому могут быть некоторые шероховатости. Если у вас возникнут какие-либо проблемы, сообщите о них в трекере проблем .

[!ПРИМЕЧАНИЕ] Отображение изображений в ответах инструмента и встраивание их в контекст чата может поддерживаться не всеми клиентами MCP; в настоящее время известно, что эта функция поддерживается в Cursor.

Поддержка инкрементальной сборки

XcodeBuildMCP включает экспериментальную поддержку инкрементальных сборок. Эта функция отключена по умолчанию и может быть включена путем установки переменной среды INCREMENTAL_BUILDS_ENABLED в true :

Чтобы включить инкрементальные сборки, установите для переменной среды INCREMENTAL_BUILDS_ENABLED значение true :

Пример конфигурации клиента MCP:

{ "mcpServers": { "XcodeBuildMCP": { "command": "mise", "args": [ "x", "npm:xcodebuildmcp@1.4.0", "--", "xcodebuildmcp" ], "env": { "INCREMENTAL_BUILDS_ENABLED": "true" } } } }

[!ВАЖНО] Обратите внимание, что поддержка инкрементальных сборок в настоящее время является экспериментальной, и ваш пробег может отличаться. Пожалуйста, сообщайте о любых проблемах, с которыми вы сталкиваетесь, в систему отслеживания проблем .

Поиск неисправностей

Если у вас возникли проблемы с XcodeBuildMCP, диагностический инструмент может помочь выявить проблему, предоставив подробную информацию о вашей среде и зависимостях.

Диагностический инструмент

Диагностический инструмент — это автономная утилита, которая проверяет конфигурацию вашей системы и сообщает о состоянии всех зависимостей, требуемых XcodeBuildMCP. Это особенно полезно при сообщении о проблемах.

Использование с mise
# Run the diagnostic tool using mise mise x npm:xcodebuildmcp@1.4.0 -- xcodebuildmcp-diagnostic
Использование с npx
# Run the diagnostic tool using npx npx xcodebuildmcp@1.4.0 xcodebuildmcp-diagnostic

Диагностический инструмент выдаст исчерпывающую информацию о:

  • Система и среда Node.js
  • Установка и настройка Xcode
  • Необходимые зависимости (xcodebuild, idb и т.д.)
  • Переменные среды, влияющие на XcodeBuildMCP
  • Статус доступности функции

Сообщая о проблемах на GitHub, пожалуйста, приложите полный вывод диагностического инструмента, чтобы помочь в устранении неполадок.

Журналы сервера MCP

Может быть полезно иметь доступ к сообщениям журнала с сервера MCP для выявления любых проблем. Журналы фиксируются клиентским приложением, например, в Cursor:

Курсор:

find ~/Library/Application\ Support/Cursor/logs -name "Cursor MCP.log" -exec zip -r matching_logs.zip {} +

Если у вашего клиента MCP нет файлов журнала, вы можете запустить сервер напрямую с помощью инструмента MCP Inspector, см. Отладка для получения дополнительной информации о том, как это сделать. После запуска инструмент MCP выводит все сообщения журнала на свою панель ошибок, что может быть полезно при диагностике проблем.

Конфиденциальность

Этот проект использует Sentry для мониторинга и диагностики ошибок. Sentry помогает нам отслеживать проблемы, сбои и неожиданные ошибки для повышения надежности и стабильности XcodeBuildMCP.

Что отправляется в Sentry?

  • По умолчанию в Sentry отправляются только журналы ошибок и диагностическая информация.
  • Журналы ошибок могут включать такие сведения, как сообщения об ошибках, трассировки стека и (в некоторых случаях) пути к файлам или имена проектов. Вы можете просмотреть источники в этом репозитории, чтобы увидеть, что именно регистрируется.

Отказ от Sentry

  • Если вы не хотите отправлять журналы ошибок в Sentry, вы можете отказаться от этого, установив переменную среды SENTRY_DISABLED=true .

Пример конфигурации клиента MCP:

{ "mcpServers": { "XcodeBuildMCP": { "command": "mise", "args": [ "x", "npm:xcodebuildmcp@1.4.0", "--", "xcodebuildmcp" ], "env": { "SENTRY_DISABLED": "true" } } } }

Выборочная регистрация инструмента

По умолчанию все инструменты включены, но для некоторых клиентов может быть полезно включить только определенные инструменты, чтобы уменьшить объем контекста, отправляемого клиенту. Этого можно добиться, установив определенные переменные среды в конфигурации MCP ваших клиентов.

После включения одного или нескольких инструментов или групп инструментов все остальные инструменты будут отключены. Например, чтобы включить только инструменты, связанные с симулятором, вы можете установить переменную окружения на XCODEBUILDMCP_GROUP_IOS_SIMULATOR_WORKFLOW=true это откроет только инструменты для сборки, запуска и отладки на симуляторах

{ "mcpServers": { "XcodeBuildMCP": { "command": "mise", "args": [ "x", "npm:xcodebuildmcp@1.4.0", "--", "xcodebuildmcp" ], "env": { "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.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

XcodeBuildMCP

  1. Обзор
    1. Почему?
      1. Функции
        1. Управление проектами Xcode
        2. Управление симулятором
        3. Утилиты приложений
      2. Начиная
        1. Предпосылки
        2. Настройка одной линии с mise
        3. Настройка клиентов MCP
        4. Включение автоматизации пользовательского интерфейса (бета)
      3. Поддержка инкрементальной сборки
        1. Поиск неисправностей
          1. Диагностический инструмент
          2. Журналы сервера MCP
        2. Конфиденциальность
          1. Что отправляется в Sentry?
          2. Отказ от Sentry
        3. Выборочная регистрация инструмента
          1. Демо
            1. Автономное исправление ошибок сборки в Cursor
            2. Использование новых функций автоматизации пользовательского интерфейса и захвата экрана
            3. Создание и запуск приложения iOS в Claude Desktop
          2. Внося вклад
            1. Лицензия
              1. Проверка сервера MCP
                1. Глама.ай
                2. MseeP.a

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                Bridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.
                Last updated -
                9
                132
                164
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                🍎 Build iOS Xcode workspace/project and feed back errors to llm.
                Last updated -
                2
                45
                Python
                MIT License
                • Apple
              • -
                security
                F
                license
                -
                quality
                A 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 -
                29
                TypeScript

              View all related MCP servers

              ID: 80c3zmerx6