
MobileBuildMCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants build, run and test iOS and macOS apps on your Mac, and drive the simulator.
MobileBuildMCP is the new name of XcodeBuildMCP, now maintained under the getsentry GitHub account. It runs on your Mac and wraps Xcode tools such as xcodebuild and the simulator, so your assistant can build your app, launch it and tap through it. It needs macOS 14.5 or later and Xcode 16 or later. Only the simulator tools are on by default, and you turn on other groups, such as device, debugging or macOS, in the config. The list below shows the main tools, not all of them.
Good for
- iOS and macOS developers who want an assistant to build, run and test their app
- Developers who want an assistant to tap through the simulator and read logs after a crash
- Teams that also want the same tools as a command-line program
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install MobileBuildMCP MCP
Claude Code
- 1
Copy this prompt.
Add the MobileBuildMCP MCP server to Claude Code. Run this command: claude mcp add mobilebuildmcp -- npx -y mobilebuildmcp@latest mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
The server command is the mobilebuildmcp package followed by mcp. With a Homebrew install you can run mobilebuildmcp mcp instead of npx.
From the vendor's docs. Source.
Tools
Shows the project, scheme and simulator it will use
Shows the defaults for the current session. The tool description says to call it before the first build, run or test so it does not assume anything is set.
Try: “What project and simulator are you set to use?”
Read ·
session_show_defaultsSets the project, scheme and simulator for the session
Stores the project path, scheme and simulator so later build and run calls do not need them each time. You can keep several named profiles.
Try: “Use MyApp.xcworkspace, the MyApp scheme and the iPhone 17 simulator.”
Write ·
session_set_defaultsFinds Xcode projects in a folder
Scans a folder, by default the workspace root, for .xcodeproj and .xcworkspace files.
Try: “Find the Xcode projects in this repo.”
Files ·
discover_projsLists the schemes in a project
Lists the build schemes in an Xcode project or workspace.
Try: “What schemes does this project have?”
Read ·
list_schemesShows a scheme's build settings
Prints the build settings for a scheme.
Try: “Show the build settings for the MyApp scheme.”
Read ·
show_build_settingsLists iOS simulators
Lists the iOS simulators on your Mac.
Try: “Which simulators do I have?”
Read ·
list_simsBoots a simulator
Starts an iOS simulator for manual work. It is not needed before build_run_sim.
Try: “Boot the iPhone 17 simulator.”
Runs code ·
boot_simOpens the Simulator app
Brings up the Simulator window so you can watch what the agent is doing.
Try: “Open the Simulator so I can watch.”
Runs code ·
open_simBuilds the app for the simulator
Compiles the app for an iOS simulator without launching it. The build runs xcodebuild on your machine.
Try: “Build the MyApp scheme for the simulator.”
Runs code ·
build_simBuilds, installs and launches on the simulator
Builds the scheme, installs it on a simulator, boots one if needed, and launches the app. Runtime logs are captured to a file and the path is returned.
Try: “Build and run MyApp on the iPhone 17 simulator and show me any crash logs.”
Runs code ·
build_run_simRuns your tests on the simulator
Runs the test target on an iOS simulator.
Try: “Run the unit tests for MyApp on the simulator.”
Runs code ·
test_simInstalls an app on the simulator
Installs a built .app on a simulator.
Try: “Install the built app on the simulator.”
Runs code ·
install_app_simLaunches an app on the simulator
Launches an installed app by bundle ID and captures its runtime logs to a file.
Try: “Launch com.example.myapp on the simulator.”
Runs code ·
launch_app_simStops an app on the simulator
Stops a running app in the simulator.
Try: “Stop the app in the simulator.”
Runs code ·
stop_app_simRecords the simulator screen to a video
Records a video of the simulator screen.
Try: “Record a video while I walk through the sign-up flow.”
Write ·
record_sim_videoTakes a simulator screenshot
Captures a screenshot of the simulator.
Try: “Take a screenshot of the current screen.”
Read ·
screenshotReads the screen's interface elements
Captures a snapshot of the simulator's interface with a reference for each element, so the agent can tap the right one.
Try: “Describe what is on screen right now.”
Read ·
snapshot_uiTaps an element in the simulator
Taps one interface element in the simulator by its reference from the latest snapshot.
Try: “Tap the Sign In button.”
Runs code ·
tapTypes text in the simulator
Types text into the focused field in the simulator.
Try: “Type "test@example.com" into the email field.”
Runs code ·
type_textSwipes in the simulator
Swipes across the simulator screen.
Try: “Swipe up to scroll the list.”
Runs code ·
swipeWaits until something appears on screen
Polls the interface until the text or element you describe shows up or settles.
Try: “Wait until the Welcome text is on screen.”
Read ·
wait_for_uiSets the simulator's GPS location
Sets a fake location for the simulator.
Try: “Put the simulator in Berlin.”
Runs code ·
set_sim_locationErases a simulator
Erases a simulator and its content. The manifest marks it as destructive. It is in the simulator-management group, which is off by default.
Try: “Erase the iPhone 17 simulator.”
Delete ·
erase_simsBuilds and runs on a connected device
Builds, installs and launches the app on a physical iPhone or iPad. Needs code signing set up in Xcode, and the device group has to be turned on.
Try: “Build and run MyApp on my iPhone.”
Runs code ·
build_run_deviceBuilds and runs a macOS app
Builds and launches a macOS app. The macOS group has to be turned on.
Try: “Build and run the macOS target.”
Runs code ·
build_run_macosRuns Swift package tests
Runs the tests for a Swift package target. The swift-package group has to be turned on.
Try: “Run the tests for the Core package.”
Runs code ·
swift_package_testCleans build products
Deletes build products for a project. The manifest marks it as destructive. It is part of the default simulator group, so it is available without turning anything on.
Try: “Clean the build products for MyApp.”
Delete ·
cleanAttaches LLDB to a simulator app
Attaches the debugger to an app running in the simulator. The debugging group has to be turned on.
Try: “Attach the debugger to MyApp.”
Runs code ·
debug_attach_simRuns an LLDB command
Runs any LLDB command you or the agent give it. The manifest marks it as destructive.
Try: “Run "po self.viewModel" in the debugger.”
Runs code ·
debug_lldb_commandShows code coverage per target
Reads an xcresult bundle and shows coverage for each target. The coverage group has to be turned on.
Try: “Show coverage from the last test run.”
Files ·
get_coverage_reportCreates a new iOS project
Creates a new iOS project from a template. The project-scaffolding group has to be turned on.
Try: “Create a new SwiftUI iOS app called Notes.”
Write ·
scaffold_ios_projectCalls a tool in the Xcode IDE
Calls a tool exposed by Xcode itself through its bridge. The manifest marks it as destructive and it needs the xcode-ide group.
Try: “Capture a SwiftUI preview from Xcode.”
Runs code ·
xcode_ide_call_tool
Read from the source code
Permissions
high risk · 4 things to watch
High risk
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The default tools include a delete
The simulator group is on by default and contains clean, which deletes build products for a project. Tell the assistant not to clean unless you ask. github.com
Builds run your project's build steps
Building and testing run xcodebuild on your machine, which can run scripts that belong to the project. Only build projects you trust. github.com
Optional groups add delete and debugger tools
Turning on more groups adds tools that erase simulators and run any LLDB command you or the agent give it, and the Xcode bridge tool is marked destructive too. Enable them only when needed. github.com
Error reports go to Sentry by default
The server sends reports about its own crashes. The privacy page says tool inputs and outputs are not sent and shows how to opt out. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. You can limit the tools by choosing which workflow groups to enable. |
|---|---|
| Talks to | Sentry error reports about the server itself (can be turned off) |
| Sign-in and keys | No account or API key. Device tools use the code signing already set up in Xcode. |
Questions
Is MobileBuildMCP the same as XcodeBuildMCP?
Yes. The v2.7.1 release renamed XcodeBuildMCP to MobileBuildMCP (repository getsentry/MobileBuildMCP). The npm package is now mobilebuildmcp and the server starts with its mcp command. An existing config that runs the old xcodebuildmcp package still points at the pre-rename name, so switch it to mobilebuildmcp@latest.
Does it need a Mac?
Yes. It needs macOS 14.5 or later and Xcode 16 or later. Node.js 18 or later is needed unless you install with Homebrew.
Which tools are on by default?
Only the simulator tools, plus a few required ones for session settings. Other groups, such as device, macOS, debugging and Swift package, are turned on in the config file or with an environment variable.
Can I use it on a real iPhone?
Yes, if you turn on the device group. Device tools need code signing set up in Xcode.
Does it send my code anywhere?
The docs say it uses Sentry only for the server's own errors, and does not send tool inputs, outputs, source code or build artifacts. You can turn the reports off.
Does it have a command-line mode?
Yes. The same package runs as a command-line program, and the mcp command starts the server. A Homebrew install is also available.
How many tools does it have?
The source has more than 80 tool definitions, grouped into workflows. The list on this page is partial and shows the main ones.
Is it made by Sentry?
Yes. The repository is under the getsentry organization and Sentry also collects error reports from the server, which you can turn off.
Information
updated Nov 2, 2026
- Publisher
- Sentry (official)
- Package
mobilebuildmcp- Registry
- npm
- Transport
- stdio
- Version
- 2.7.0
- License
- MIT
- Last commit
- Oct 31, 2026
- Open issues
- 19
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 5Hide
- clients.mdx · github.com
- README.md · github.com
- tools · github.com
- simulator.yaml · github.com
- MobileBuildMCP v2.7.1 release notes · github.com