Xcode MCP Server
Xcode MCP Server
Сервер Model Context Protocol для экосистемы Apple
Подключайте OpenCode, Codex и Claude Code к Xcode — 43 профессиональных инструмента в одном index.js
🌐 Язык: English | Español
Установка • Инструменты • OpenCode • Codex • Claude Code • Документация
Что это такое?
Xcode MCP Server — это серьёзный, готовый к продакшену мост между вашей AI IDE (OpenCode / Codex / Claude Code) и Xcode + Apple Dev Tools.
LLM больше не просто пишет на Swift: она собирает, тестирует, профилирует, управляет симуляторами, физическими устройствами, подписью и даже открывает Xcode на нужной строке — всё через MCP
stdioбез HTTP-сервера.
Стек: ES Modules · @modelcontextprotocol/sdk@1.30 · StdioServerTransport · promisify(exec) · Yarn 4 Berry · Make
✅ Один файл
index.js(2250 строк) — без шага сборки, без компиляции, всё можно проверить в одном файле. Shebang#!/usr/bin/env node, готов к запуску черезnode,yarn startилиnpx.✅ 43 инструмента со строгой JSON Schema (
additionalProperties:false) + глобальныйtry/catch. Каждый инструмент возвращаетcontent: [{type:"text"}]иisError:trueпри сбое — без// TODO.✅ Полное покрытие Apple:
xcodebuild,simctl(9),devicectl(2),xctrace(5 шаблонов),agvtool,security,osascript/xed.✅ Современный DX: вендоренный Yarn 4 (
.yarn/releases), самодокументируемыйMakefileсhelp, модульныеdocs/, macOS CI + смоук-тестmake test.✅ Мультиклиент: один и тот же
index.jsработает с OpenCode, Codex и Claude Code без изменений.
Related MCP server: Xcode MCP Server
✨ Возможности
Категория | Инструменты | Описание |
Сборка | 6 |
|
Тесты | 2 |
|
Симуляторы | 9 |
|
Устройства | 2 |
|
Профилирование | 1 |
|
Версии | 2 |
|
Редактор | 2 |
|
Локализация | 1 |
|
Ресурсы | 6 |
|
AppIcon | 1 |
|
Пакеты / SPM | 11 |
|
📋 Содержание
📦 Требования
Зависимость | Версия | Установка | Обязательно |
macOS | 13+ (рекомендуется 14+) | — | ✅ для |
Xcode | 15+ | App Store → | ✅ |
Node.js | ≥ 18 |
| ✅ |
Yarn | 4.x Berry |
| ✅ |
make | 3.81+ |
| ✅ |
swift-format | latest |
| ◻️ необязательно |
swiftlint | latest |
| ◻️ необязательно |
Linux/Windows: работает только
make lint(без Xcode). Для этого CI запускает задачуsyntax-linux.
🚀 Пошаговая установка
Следуйте точно в этом порядке. Копируйте и вставляйте блок за блоком.
Шаг 0 — Проверьте Xcode и Node
xcodebuild -version
# Xcode 15.4 Build version 15F31d
node --version
# v20.11.0 (or newer)
yarn --version
# 4.18.0 — if "command not found", run:
corepack enable
corepack prepare yarn@stable --activate
yarn --versionШаг 1 — Клонируйте репозиторий
git clone https://github.com/YanxReal/Xcode-MPC.git
cd Xcode-MPCШаг 2 — Установите зависимости
Вариант A — через Make (рекомендуемый, современный):
make installЧто делает make install:
Обнаруживает
yarn, при отсутствии устанавливает черезcorepackВыполняет
yarn install(читаетyarn.lock, устанавливает@modelcontextprotocol/sdk)Выполняет
chmod +x index.js
Ожидаемый вывод:
➤ YN0000: · Yarn 4.18.0
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed
➤ YN0000: · Done with warnings in 3s
✓ dependencies installedВариант B — напрямую через Yarn:
yarn install
chmod +x index.jsЕсли вы переходите с npm:
rm -f package-lock.json
yarn installШаг 3 — Проверьте окружение
make doctorДолжен показать:
Node: v20.x
Yarn: 4.18.0
Xcode: Xcode 15.x
xcrun: xcrun version 70
...
✓ doctor completeЕсли вы видите xcodebuild: command not found:
sudo xcode-select -s /Applications/Xcode.appШаг 4 — Проверьте MCP-сервер
make lint
# ➜ node --check index.js
# ✓ lint ok
make test
# ➜ smoke test MCP...
# ✓ tools/list: 43 tools
# ✓ xcode_sync_strings OK
# ✓ xcode_certificates_check OK
# ✓ smoke test PASSEDИли вручную:
python3 scripts/smoke_test.py
# or
node scripts/smoke_test.mjsШаг 5 — Настройте ваш AI-клиент
Выберите один (или все три — один и тот же index.js работает везде):
Клиент | Файл конфигурации | Команда |
OpenCode |
|
|
Codex |
|
|
Claude Code |
| CLI или |
Полные пошаговые инструкции с готовыми JSON/TOML для копирования:
Шаг 6 — Перезапустите и проверьте
Перезапустите OpenCode / Codex / Claude Code и введите:
list the xcode toolsВы должны увидеть 43 инструмента и в логе:
✅ Xcode MCP Server started (stdio) — 43 tools registeredГотово! Теперь вы можете сказать:
Build MyApp with xcode_build scheme MyApp destination "platform=iOS Simulator,name=iPhone 15"✅ Проверка
# 1. Syntax
make lint
# 2. Smoke MCP (no Xcode needed, just Node)
make test
# 3. Apple environment
make doctor
# Checks: node, yarn, xcodebuild, xcrun, simctl, swiftlint, security, osascript
# 4. Visual inspector (optional)
make inspect
# or
yarn inspect
# Open http://localhost:6274 → tools/list → tools/call🔧 Использование с OpenCode / Codex / Claude Code
OpenCode
~/.config/opencode/opencode.json:
{
"mcpServers": {
"xcode": {
"command": "node",
"args": ["/Users/YanxReal/Dev/Tools/Xcode-MPC/index.js"],
"env": {}
}
}
}Codex (OpenAI)
~/.codex/config.toml:
[mcp_servers.xcode]
command = "node"
args = ["/Users/YanxReal/Dev/Tools/Xcode-MPC/index.js"]Claude Code (Anthropic)
claude mcp add xcode -- node /Users/YanxReal/Dev/Tools/Xcode-MPC/index.js
# verify
claude mcp list
# xcode: connected — 43 toolsИли для конкретного проекта с .mcp.json:
{
"mcpServers": {
"xcode": {
"command": "node",
"args": ["/Users/YanxReal/Dev/Tools/Xcode-MPC/index.js"]
}
}
}Примеры промптов для каждого клиента →
docs/opencode.md·docs/codex.md·docs/claude-code.md· Шаблоны:.mcp.json.example·.codex-config.toml.example
🛠️ Инструменты (43)
1. Сборка, диагностика и очистка
Инструмент |
| Ключевые аргументы | |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| format |
2. Тесты и покрытие
Инструмент |
| Ключевые аргументы |
|
|
|
|
|
|
3. Симуляторы xcrun simctl (9)
simctl_list (фильтр booted), simctl_lifecycle (boot|shutdown|erase), simctl_install_launch, simctl_media_capture (screenshot|record), simctl_push_notification, simctl_location_mock, simctl_privacy_control, simctl_ui_appearance (light|dark), simctl_open_url
4. Физические устройства xcrun devicectl (2)
devicectl_list (--json), devicectl_logs (deviceUdid*, durationSeconds)
5. Профилирование xcrun xctrace (1)
xctrace_profile (template: Time Profiler|Allocations|Leaks|System Trace, timeLimitSeconds, outputFilePath*)
6. Версии и безопасность (2)
agvtool_version_bump (bump_build|set_version|set_build), xcode_certificates_check (security find-identity)
7. GUI-редактор Xcode (2)
xcode_get_active_file (AppleScript osascript), xcode_open_at_line (filePath*, line*, column — xed → xcode://)
8. Локализация (1)
xcode_sync_strings (.xcstrings → missing / pendingTranslation / emptyValues)
9. Ассеты Assets.xcassets + actool (6)
asset_list_contents (перечисляет *.colorset/*.imageset), asset_manage_color (#RRGGBB Light + Dark), asset_manage_image (scales/vector + preserves-vector-representation), asset_read_info (Contents.json), asset_delete (безопасно), asset_validate_actool (xcrun actool --compile)
10. AppIcon для всех ОС Apple (1)
asset_generate_appicon (iOS, macOS, watchOS, tvOS, visionOS — 42 слота, sips -z, если указан baseImagePath)
11. Пакеты SPM / CocoaPods / Carthage (11)
package_resolve/update/list/read_resolved/reset_cache/compute_checksum, spm_add/remove_dependency, cocoapods_manage, carthage_manage, cocoapods_to_spm_migrate (Podfile→Package.swift)
Полный справочник с JSON Schema и примерами для копирования →
docs/tools.md
📖 Команды Make
make help # Show this pretty help (colors)
make install # yarn install + chmod +x
make reinstall # clean + install (from scratch)
make lint # node --check index.js
make doctor # Check Node/Yarn/Xcode/simctl/swiftlint/osascript
make test # Smoke test MCP (43 tools + 2 calls)
make start # yarn start (stdio)
make dev # yarn dev (--watch)
make inspect # MCP Inspector at http://localhost:6274
make clean # Remove node_modules/.yarn/cache/build
make fmt # prettier if available
make release VERSION=1.0.1 # bump + tag + pushПодробности → docs/development.md
📚 Документация
Документ | Аудитория | Содержание |
Все | Yarn Berry, Corepack, вендоренный | |
LLM / разработчики | Все 43 инструмента, JSON Schema, готовые JSON-примеры | |
OpenCode |
| |
Codex |
| |
Claude Code |
| |
Контрибьюторам | Структура, добавление инструмента, CI, релиз | |
Любознательным | Почему один файл, хелперы, диспетчер, поток stdio |
🧪 Ручной смоук-тест
# Without Make:
python3 scripts/smoke_test.py
# STDERR: ✅ Xcode MCP Server started — 43 tools
# ✓ tools/list: 43 tools
# ✓ xcode_sync_strings OK
# ✓ smoke test PASSED
# With Make:
make test🏗️ Архитектура
index.js (2250 lines, 1 file)
├── Shebang + Imports (MCP SDK, promisify(exec), fs, path, os)
├── Helpers: shellEscape, expandTilde, runCommand (try/catch + 10MB buffer), formatResult
├── TOOLS[43]: Strict JSON Schema (additionalProperties:false)
├── Handlers[43]: async handle_* with validation + fallbacks (xed→xcode://, swift-format→swiftlint)
├── Dispatcher: HANDLERS map + ListTools/CallTool (try/catch → isError:true)
└── Server: StdioServerTransport (stdin JSON-RPC, stdout JSON-RPC, stderr logs)Решение об одном файле и поток OpenCode → stdin → handler → xcrun → stdout описаны в docs/architecture.md.
🤝 Участие
# 1. Fork and branch
git checkout -b feat/my-tool
# 2. Develop: add to TOOLS + Handler + HANDLERS in index.js
make install && make lint && make test
# 3. Document in docs/tools.md + README.md
# 4. PRIssues: Сообщение об ошибке · Запрос функции · Шаблон PR
CI запускается на macos-14 и ubuntu-latest — ваш PR тестируется автоматически.
📄 Лицензия
🔗 Ссылки
Репозиторий: https://github.com/YanxReal/Xcode-MPC
Спецификация MCP: https://modelcontextprotocol.io
Yarn Berry: https://yarnpkg.com/getting-started
Сделано с ❤️ для экосистемы Apple · Yarn 4 + Make + CI + Docs
Если проект вам помог, поставьте ⭐ на GitHub
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityFmaintenanceBridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.76186385MIT
- -licenseNot gradedqualityNot gradedmaintenanceA server that acts as a bridge between Claude and local Xcode projects, enabling AI-powered code assistance, project management, and automated development tasks without exposing your code to the internet.
- AlicenseBqualityCmaintenanceProvides programmatic access to Xcode functionality, enabling AI assistants to create, build, test, and manage iOS/macOS projects directly.3385MIT
- AlicenseAqualityBmaintenanceEnable Claude Code, Cursor, or your favorite LLM to interact with Xcode, building your projects the same way you do, and seeing the same errors. Greatly increases productivity when working on iOS, iPadOS, macOS, visionOS, tvOS projects & Swift packages - or any time you might use Xcode.295MIT
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/YanxReal/Xcode-MPC'
If you have feedback or need assistance with the MCP directory API, please join our Discord server