Skip to content
MCP Shelf

XcodeBuildMCP

View on GitHub

Build, run and test iOS and macOS apps, and drive simulators, from an agent.

  • Started in our test
  • ★ 6.5K GitHub stars
  • 51.9K downloads a week
  • Last commit 22 Oct 2026

At a glance

Agents are good at writing Swift and bad at knowing whether it compiles. XcodeBuildMCP closes that loop: it wraps xcodebuild and the simulator tools so the agent can build a scheme, read the errors, boot a simulator, install the app and capture logs.

The project now lives under Sentry on GitHub; the npm package is the same.

Made by
Sentry (started by Cameron Cooke)
Licence
MIT
Latest version
2.7.0 (23 Jul 2026)
npm package
xcodebuildmcp
GitHub stars
6.5K
Downloads
51.9K a week
Last commit
22 Oct 2026
Tools
24
Runs on
Your computer

Our check: We ran this exact config on 26 Oct 2026: it started and answered with 24 tools.

What's in the pod: its tools

We found 24 tools when we started it on 26 Oct 2026. 12 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.

Runs commands1 tool · Can start programs or run code.

ToolWhat it is for
build_run_simBuilds the app, installs it on a simulator and launches it in one step.

Changes things11 tools · Can create, edit, send or delete.

ToolWhat it is for
boot_simStarts an iOS simulator.
build_simBuilds an iOS app for the simulator and reports any compiler errors.
cleanClears out old build products so the next build starts fresh.
install_app_simInstalls a built app on a simulator.
launch_app_simOpens an installed app on the simulator.
record_sim_videoRecords a video of the simulator screen.
session_clear_defaultsForgets the saved project, scheme and simulator choices.
session_set_defaultsRemembers the project, scheme and simulator so later calls need fewer details.
session_use_defaults_profileSwitches to a saved set of defaults, for repos with several apps.
stop_app_simCloses the running app on the simulator.
test_simRuns the test suite on a simulator and returns the results.

Only reads12 tools · Looks things up and changes nothing.

ToolWhat it is for
discover_projsFinds the Xcode projects and workspaces in a folder.
get_app_bundle_idReads an app's bundle identifier.
get_coverage_reportSummarises code coverage after a test run.
get_file_coverageShows which lines of one file the tests covered.
get_sim_app_pathFinds where the built .app sits for the simulator.
list_schemesLists the schemes a project or workspace can build.
list_simsLists available simulators and whether they are running.
open_simBrings the Simulator app to the front.
screenshotCaptures the simulator screen so the agent can see the app.
session_show_defaultsShows the remembered project, scheme and simulator.
show_build_settingsPrints the Xcode build settings for a scheme.
snapshot_uiDescribes what is on screen, element by element, with positions the agent can tap.

Grouped and described by us. The README on GitHub lists the inputs each tool takes.

Set it up

Pick your app for the exact snippet and where it goes.

Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)

Claude Desktop
{
  "mcpServers": {
    "xcodebuildmcp": {
      "command": "npx",
      "args": [
        "-y",
        "xcodebuildmcp@latest",
        "mcp"
      ]
    }
  }
}

New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.

Settings

Names are exactly as the project spells them. Required ones are marked.

SettingWhat it does
mobilebuildmcp mcpConfig · requiredThe command your client runs to start the server after a Homebrew or npm install."command": "mobilebuildmcp", "args": ["mcp"]
mobilebuildmcp initConfigInstalls the optional agent skills that teach your agent how to use the tools or the CLI.
--schemeCommand line flagWhich scheme to build when you use the CLI directly.--scheme MyApp
--project-pathCommand line flagPath to the .xcodeproj or .xcworkspace for CLI builds.--project-path ./MyApp.xcodeproj

What it can touch

It can read

  • Your Xcode projects, schemes and build settings
  • Simulator screens, UI layout and logs
  • Test results and coverage

It can change

  • Build products in DerivedData
  • Apps installed on simulators and, with signing set up, on devices
  • Starts and stops simulators and apps

Safer setup: Everything stays on your Mac. Error reports go to Sentry; the project's privacy page explains how to switch that off.

Before you start

  • A Mac with Xcode installed
  • Node.js 18 or newer

If it does not work

Device builds fail with signing errors
Set up code signing for the target in Xcode first. Simulator builds do not need it.
Swift Macro validation errors
The server already tells xcodebuild to skip macro validation. If you build by hand, add the same flag.
Agent keeps asking which scheme to build
Call session_set_defaults once with the project, scheme and simulator, and later calls reuse them.

Peas in a pod: similar servers

How XcodeBuildMCP lines up against other developer tools servers on the shelf.

ServerToolsRuns onLicenceStars
XcodeBuildMCP24Your computerMIT6.5K
Peekaboo3Your computerMIT5.4K
Kubernetes MCP Server14Your computerApache-2.02.2K
IDA Pro MCP48Your computer–13.2K
Desktop Commander25Your computerMIT10.1K

Questions

Has it been renamed?

Yes. XcodeBuildMCP now ships as MobileBuildMCP under Sentry. The GitHub repo is still getsentry/XcodeBuildMCP.

What do I need?

macOS 14.5 or later, Xcode 16 or later, and Node.js 18 or later unless you install with Homebrew.

Can I use it without an AI?

Yes. The same package is a command line tool, for example mobilebuildmcp simulator build.

Is it free?

Yes, MIT licensed.

Full docs on GitHubcameroncooke/XcodeBuildMCP

Something wrong on this page? Tell us.

More in Developer tools