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.
| Tool | What it is for |
|---|---|
build_run_sim | Builds the app, installs it on a simulator and launches it in one step. |
Changes things11 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
boot_sim | Starts an iOS simulator. |
build_sim | Builds an iOS app for the simulator and reports any compiler errors. |
clean | Clears out old build products so the next build starts fresh. |
install_app_sim | Installs a built app on a simulator. |
launch_app_sim | Opens an installed app on the simulator. |
record_sim_video | Records a video of the simulator screen. |
session_clear_defaults | Forgets the saved project, scheme and simulator choices. |
session_set_defaults | Remembers the project, scheme and simulator so later calls need fewer details. |
session_use_defaults_profile | Switches to a saved set of defaults, for repos with several apps. |
stop_app_sim | Closes the running app on the simulator. |
test_sim | Runs the test suite on a simulator and returns the results. |
Only reads12 tools · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
discover_projs | Finds the Xcode projects and workspaces in a folder. |
get_app_bundle_id | Reads an app's bundle identifier. |
get_coverage_report | Summarises code coverage after a test run. |
get_file_coverage | Shows which lines of one file the tests covered. |
get_sim_app_path | Finds where the built .app sits for the simulator. |
list_schemes | Lists the schemes a project or workspace can build. |
list_sims | Lists available simulators and whether they are running. |
open_sim | Brings the Simulator app to the front. |
screenshot | Captures the simulator screen so the agent can see the app. |
session_show_defaults | Shows the remembered project, scheme and simulator. |
show_build_settings | Prints the Xcode build settings for a scheme. |
snapshot_ui | Describes 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)
{
"mcpServers": {
"xcodebuildmcp": {
"command": "npx",
"args": [
"-y",
"xcodebuildmcp@latest",
"mcp"
]
}
}
}Where it goes: Your terminal, in the project folder
claude mcp add-json xcodebuildmcp '{"command":"npx","args":["-y","xcodebuildmcp@latest","mcp"]}'Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"xcodebuildmcp": {
"command": "npx",
"args": [
"-y",
"xcodebuildmcp@latest",
"mcp"
]
}
}
}Where it goes: .vscode/mcp.json in your project
{
"servers": {
"xcodebuildmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"xcodebuildmcp@latest",
"mcp"
]
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"xcodebuildmcp": {
"command": "npx",
"args": [
"-y",
"xcodebuildmcp@latest",
"mcp"
]
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
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.
| Setting | What it does |
|---|---|
mobilebuildmcp mcpConfig · required | The command your client runs to start the server after a Homebrew or npm install."command": "mobilebuildmcp", "args": ["mcp"] |
mobilebuildmcp initConfig | Installs the optional agent skills that teach your agent how to use the tools or the CLI. |
--schemeCommand line flag | Which scheme to build when you use the CLI directly.--scheme MyApp |
--project-pathCommand line flag | Path 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.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| XcodeBuildMCP | 24 | Your computer | MIT | 6.5K |
| Peekaboo | 3 | Your computer | MIT | 5.4K |
| Kubernetes MCP Server | 14 | Your computer | Apache-2.0 | 2.2K |
| IDA Pro MCP | 48 | Your computer | – | 13.2K |
| Desktop Commander | 25 | Your computer | MIT | 10.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.
Something wrong on this page? Tell us.