MobileBuildMCP
listing.by
Build, run, test and debug iOS and macOS apps with Xcode and the Simulator from an AI agent.
listing.install
listing.local.explain
listing.local.needs listing.local.note
INCREMENTAL_BUILDS_ENABLEDlisting.env.optional Enable experimental xcodemake incremental builds (true/false or 1/0).XCODEBUILDMCP_ENABLED_WORKFLOWSlisting.env.optional Comma-separated list of workflows to load at startup (e.g., 'simulator,device,project-discovery').XCODEBUILDMCP_SENTRY_DISABLEDlisting.env.optional Disable Sentry error reporting (preferred flag).XCODEBUILDMCP_DEBUGlisting.env.optional Enable verbose debug logging from the server.
listing.share.h
listing.share.p_local
mcp.tc/i/mobilebuildmcplisting.about
MobileBuildMCP gives an agent tools for working on iOS and macOS projects: Xcode project management, Simulator management, building, testing, running apps and app utilities. It ships as one package that works both as an MCP server and as a command-line tool. It was formerly named XcodeBuildMCP.
It runs locally over stdio with npx -y mobilebuildmcp@latest mcp, or through Homebrew (brew tap getsentry/xcodebuildmcp). It needs macOS 14.5 or later, Xcode 16 or later, and Node.js 18 or later for the npm route. No sign-in or API key is needed. Sentry error reporting is on by default and can be turned off. Device tools need code signing set up in Xcode.
listing.can
- Build iOS and macOS projects with xcodebuild
- Run and test apps in the iOS Simulator
- Prepare and run portable test products
- Discover Xcode projects and schemes
- Manage simulators and app utilities
- Capture logs and debug running apps
- Use the same tools from a terminal CLI
listing.tools
listing.notools.local
listing.prompts
Build the MyApp scheme for the iPhone 17 simulator and report any errors.
Run the unit tests for this Xcode project on the simulator.
Launch the app in the Simulator and capture its logs.
List the schemes in this Xcode workspace.
listing.setup.h
listing.setup.local
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport stdio mobilebuildmcp -- npx -y mobilebuildmcp@latest mcp- Start Claude Code and type
/mcp. mobilebuildmcp should show as connected.
Add --scope user to make it available in every project.
Claude Desktop
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"mcpServers": {
"mobilebuildmcp": {
"command": "npx",
"args": [
"-y",
"mobilebuildmcp@latest",
"mcp"
]
}
}
}- Save the file and restart Claude Desktop.
Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.
Cursor
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"mobilebuildmcp": {
"command": "npx",
"args": [
"-y",
"mobilebuildmcp@latest",
"mcp"
]
}
}
}Needs Node.js on your computer.
VS Code
Install in VS Code a11y.new_tab
Or from a terminal:
code --add-mcp '{"name":"mobilebuildmcp","type":"stdio","command":"npx","args":["-y","mobilebuildmcp@latest","mcp"]}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"mobilebuildmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mobilebuildmcp@latest",
"mcp"
]
}
}
}Needs Node.js on your computer.
Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"mobilebuildmcp": {
"command": "npx",
"args": [
"-y",
"mobilebuildmcp@latest",
"mcp"
]
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf.
Codex
codex mcp add mobilebuildmcp -- npx -y mobilebuildmcp@latest mcpOr edit ~/.codex/config.toml directly:
[mcp_servers.mobilebuildmcp]
command = "npx"
args = ["-y", "mobilebuildmcp@latest", "mcp"]Needs Node.js on your computer.
Gemini CLI
gemini mcp add mobilebuildmcp npx -- -y mobilebuildmcp@latest mcpThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients that start local servers accept this shape:
{
"mcpServers": {
"mobilebuildmcp": {
"command": "npx",
"args": [
"-y",
"mobilebuildmcp@latest",
"mcp"
]
}
}
}Zed puts servers under context_servers in its settings, with the same command, args and env fields.
Needs Node.js on your computer.
listing.faq
Can I paste mcp.tc/i/mobilebuildmcp into my MCP client?
No. MobileBuildMCP runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y mobilebuildmcp@latest mcp.
Does MobileBuildMCP need an API key?
No. It doesn't declare any keys or environment variables. It runs with your user account's permissions, so check what its tools can reach.
Is MobileBuildMCP a remote or a local server?
Local. Your client starts it as a process on your computer with npx -y mobilebuildmcp@latest mcp, which needs Node.js.
What can MobileBuildMCP do?
You can build iOS and macOS projects with xcodebuild, run and test apps in the iOS Simulator and prepare and run portable test products.
Which clients can use it?
Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.
Who wrote this page?
mcp.tc's robot read MobileBuildMCP's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
listing.em.h
listing.em.lead_local listing.em.how
listing.em.badge
[](https://mcp.tc/i/mobilebuildmcp)<a href="https://mcp.tc/i/mobilebuildmcp"><img src="https://mcp.tc/i/mobilebuildmcp/badge.svg" alt="MobileBuildMCP on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/mobilebuildmcp.js" async></script>listing.em.widget_note
iframe
<iframe src="https://mcp.tc/embed/mobilebuildmcp" title="MobileBuildMCP on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>listing.em.iframe_note
listing.disclaimer_checked