A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
$ npx -y skills add cameroncooke/xcodebuildmcp --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: cameroncooke/xcodebuildmcp
What's inside
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP ships as a single package with two modes: a CLI for direct terminal use and an MCP server for AI coding agents. Either install method gives you both.
brew tap getsentry/xcodebuildmcp
brew install xcodebuildmcp
npm install -g xcodebuildmcp@latest
Verify either install:
xcodebuildmcp --help
Drop-in config snippets for Cursor, Claude Code, Codex, can be found in the official docs page MCP Clients. Most clients can also run the MCP server on demand via npx -y xcodebuildmcp@latest mcp without a global install.
XcodeBuildMCP now includes two optional agent skills:
MCP Skill: Primes the agent with instructions on how to use the MCP server's tools (optional when using the MCP server).
CLI Skill: Primes the agent with instructions on how to navigate the CLI (recommended when using the CLI).
To install with a global binary:
xcodebuildmcp init
Or install directly via npx without a global install:
npx -y xcodebuildmcp@latest init
For further information on installing skills, see Agent Skills.
XcodeBuildMCP uses Sentry for internal runtime error telemetry only. For details and opt-out instructions, see Privacy & Telemetry.
XcodeBuildMCP provides a unified command-line interface. The mcp subcommand starts the MCP server, while all other commands provide direct terminal access to tools:
# Install globally
npm install -g xcodebuildmcp@latest
# Start the MCP server (for MCP clients)
xcodebuildmcp mcp
# List available tools
xcodebuildmcp tools
# Build for simulator
xcodebuildmcp simulator build --scheme MyApp --project-path ./MyApp.xcodeproj
# Prepare portable test products without running tests
xcodebuildmcp simulator build --scheme MyApp --project-path ./MyApp.xcodeproj --simulator-name "iPhone 17" --build-for-testing --test-products-path ./MyApp.xctestproducts
# Run previously prepared test products
xcodebuildmcp simulator test --test-products-path ./MyApp.xctestproducts --simulator-name "iPhone 17"
Check for updates and upgrade in place:
xcodebuildmcp upgrade --check
xcodebuildmcp upgrade --yes
The CLI uses a per-workspace daemon for stateful operations (log capture, debugging, etc.) that auto-starts when needed. See the CLI guide for full documentation.
This project is licensed under the MIT License - see the LICENSE file for details. For third-party licensing notices see the THIRD_PARTY_LICENSES file for details. For npm package attributions see the THIRD_PARTY_PACKAGE_LICENSES file for details.
.agents/
skills/
warden/
warden-sweep/
references/
patch-prompt.md
verify-prompt.md
scripts/
_utils.py
create_issue.py
extract_findings.py
find_reviewers.py
generate_report.py
index_prs.py
organize.py
scan.py
SKILL.md
references/
cli-reference.md
config-schema.md
configuration.md
creating-skills.md
SKILL.md
xcodebuildmcp-docs-command-review/
SKILL.md
xcodebuildmcp-docs-release-review/
SKILL.md
xcodebuildmcp-packaging-resource-review/
SKILL.md
xcodebuildmcp-rendering-streaming-review/
SKILL.md
xcodebuildmcp-runtime-boundary-review/
SKILL.md
xcodebuildmcp-snapshot-fixture-review/
SKILL.md
xcodebuildmcp-structured-output-review/
SKILL.md
xcodebuildmcp-test-boundary-review/
SKILL.md
xcodebuildmcp-tool-contract-review/
SKILL.md
.axe-version
.cursor/
BUGBOT.md
environment.json
.githooks/
pre-commit
.github/
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
workflows/
ci.yml
publish-manifests.yml
publish-schemas.yml
README.md
release.yml
sentry.yml
stale.yml
warden-sweep.yml
warden-watchdog.yml
.gitignore
.mcp.json
.prettierignore
.prettierrc.js
.vscode/
extensions.json
launch.json
mcp.json
settings.json
tasks.json
AGENTS.md
assets/
banner-transparent.png
banner.png
logo-text.png
benchmarks/
claude-ui/
parse_claude_conversation.py
prompts/
contacts.md
reminders.md
weather.md
README.md
run-directory.ts
run.ts
suites/
contacts.yml
reminders.yml
weather.yml
CHANGELOG.md
CLAUDE.md
CODE_OF_CONDUCT.md
config.example.yaml
eslint.config.js
example_projects/
.vscode/
launch.json
.xcodebuildmcp/
config.yaml
iOS/
iOS_Calculator/
.gitignore
.mcp.json
.xcodebuildmcp/
config.yaml
AGENTS.md
CalculatorApp/
CalculatorApp.xcodeproj/
project.pbxproj
xcshareddata/
xcschemes/
CalculatorApp.xcscheme
CalculatorApp.xcworkspace/
contents.xcworkspacedata
Assets.xcassets/
AccentColor.colorset/
Contents.json
AppIcon.appiconset/
Contents.json
Contents.json
CalculatorApp.swift
CalculatorApp.xctestplan
CalculatorAppPackage/
.gitignore
Package.swift
Sources/
CalculatorAppFeature/
BackgroundEffect.swift
CalculatorButton.swift
CalculatorDisplay.swift
CalculatorInputHandler.swift
CalculatorService.swift
ContentView.swift
Tests/
CalculatorAppFeatureTests/
CalculatorServiceTests.swift
CalculatorAppTests/
CalculatorAppTests.swift
Config/
Debug.xcconfig
Release.xcconfig
Shared.xcconfig
Tests.xcconfig
manual-fixtures/
CalculatorAppTests/
CompileError.fixture.swift
.cursor/
rules/
errors.mdc
.vscode/
settings.json
.xcodebuildmcp/
config.yaml
Makefile
MCPTest/
MCPTest.xcodeproj/
project.pbxproj
xcshareddata/
xcschemes/
MCPTest.xcscheme
Assets.xcassets/
AccentColor.colorset/
Contents.json
AppIcon.appiconset/
Contents.json
Contents.json
ContentView.swift
MCPTestApp.swift
Preview Content/
Preview Assets.xcassets/
Contents.json
MCPTestUITests/
MCPTestUITests.swift
macOS/
.xcodebuildmcp/
config.yaml
MCPTest/
MCPTest.xcodeproj/
project.pbxproj
xcshareddata/
xcschemes/
MCPTest.xcscheme
Assets.xcassets/
AccentColor.colorset/
Contents.json
AppIcon.appiconset/
Contents.json
Contents.json
ContentView.swift
MCPTest.entitlements
MCPTestApp.swift
Preview Content/
Preview Assets.xcassets/
Contents.json
MCPTestTests/
MCPTestsXCTests.swift
MCPTestTests.swift
spm/
.gitignore
.xcodebuildmcp/
config.yaml
Package.resolved
Package.swift
Sources/
long-server/
main.swift
quick-task/
main.swift
spm/
main.swift
TestLib/
TaskManager.swift
Tests/
TestLibTests/
SimpleTests.swift
Weather/
.xcodebuildmcp/
config.yaml
AGENTS.md
README.md
Schemas/
default-locations.schema.json
search-locations.schema.json
weather-report.schema.json
Weather/
Weather.xcodeproj/
project.pbxproj
xcshareddata/
xcschemes/
Weather.xcscheme
AppLogger.swift
Assets.xcassets/
AccentColor.colorset/
Contents.json
AppIcon.appiconset/
Contents.json
Contents.json
ContentView.swift
Models/
WeatherModels.swift
Services/
MockWeatherAPIClient.swift
MockWeatherDTOFactories.swift
WeatherAPIClient.swift
WeatherClientDTOs.swift
WeatherService.swift
WeatherUnitFormatter.swift
Views/
AtmosWeatherScreen.swift
Backgrounds/
AtmosBackground.swift
Chrome/
WeatherTopBar.swift
Overlays/
LocationPickerView.swift
LocationRows.swift
PrecipitationDetailView.swift
SettingsSheetView.swift
Sections/
ConditionGrid.swift
DailyForecastCard.swift
HourlyForecastCard.swift
SunMiniCard.swift
WeatherHeroView.swift
WindCard.swift
Shared/
AtmosGlass.swift
MetricHelpers.swift
WeatherIconView.swift
WeatherPresentation.swift
WeatherApp.swift
WeatherTests/
Fixtures/
default-locations.json
search-locations.json
weather-report-loc-current-san-francisco.json
WeatherTests.swift
WeatherUITests/
WeatherUITests.swift
WeatherUITestsLaunchTests.swift
knip.json
LICENSE
manifests/
resources/
devices.yaml
doctor.yaml
session-status.yaml
simulators.yaml
xcode-ide-state.yaml
tools/
batch.yaml
boot_sim.yaml
build_device.yaml
build_macos.yaml
build_run_device.yaml
build_run_macos.yaml
build_run_sim.yaml
build_sim.yaml
button.yaml
clean.yaml
debug_attach_sim.yaml
debug_breakpoint_add.yaml
debug_breakpoint_remove.yaml
debug_continue.yaml
debug_detach.yaml
debug_lldb_command.yaml
debug_stack.yaml
debug_variables.yaml
discover_projs.yaml
doctor.yaml
drag.yaml
erase_sims.yaml
gesture.yaml
get_app_bundle_id.yaml
get_coverage_report.yaml
get_device_app_path.yaml
get_file_coverage.yaml
get_mac_app_path.yaml
get_mac_bundle_id.yaml
get_sim_app_path.yaml
install_app_device.yaml
install_app_sim.yaml
key_press.yaml
key_sequence.yaml
launch_app_device.yaml
launch_app_sim.yaml
launch_mac_app.yaml
list_devices.yaml
list_schemes.yaml
list_sims.yaml
long_press.yaml
manage_workflows.yaml
open_sim.yaml
record_sim_video.yaml
reset_sim_location.yaml
scaffold_ios_project.yaml
scaffold_macos_project.yaml
screenshot.yaml
session_clear_defaults.yaml
session_set_defaults.yaml
session_show_defaults.yaml
session_use_defaults_profile.yaml
set_sim_appearance.yaml
set_sim_location.yaml
show_build_settings.yaml
sim_statusbar.yaml
snapshot_ui.yaml
stop_app_device.yaml
stop_app_sim.yaml
stop_mac_app.yaml
swift_package_build.yaml
swift_package_clean.yaml
swift_package_list.yaml
swift_package_run.yaml
swift_package_stop.yaml
swift_package_test.yaml
swipe.yaml
sync_xcode_defaults.yaml
tap.yaml
test_device.yaml
test_macos.yaml
test_sim.yaml
toggle_connect_hardware_keyboard.yaml
toggle_software_keyboard.yaml
touch.yaml
type_text.yaml
wait_for_ui.yaml
xcode_ide_call_tool.yaml
xcode_ide_list_tools.yaml
xcode_tools_bridge_disconnect.yaml
xcode_tools_bridge_status.yaml
xcode_tools_bridge_sync.yaml
workflows/
coverage.yaml
debugging.yaml
device.yaml
doctor.yaml
macos.yaml
project-discovery.yaml
project-scaffolding.yaml
session-management.yaml
simulator-management.yaml
simulator.yaml
swift-package.yaml
ui-automation.yaml
utilities.yaml
workflow-discovery.yaml
xcode-ide.yaml
package-lock.json
package.json
README.md
schemas/
structured-output/
_defs/
common.schema.json
xcodebuildmcp.output.app-path/
1.schema.json
2.schema.json
... 1600 moreShowing a partial view of a very large repo.
FAQ
xcodebuildmcp is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes xcodebuildmcp-cli, xcodebuildmcp. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.