MobileBuildMCP

listing.by

Build, run, test and debug iOS and macOS apps with Xcode and the Simulator from an AI agent.

state.local.long (state.local.title)listing.badge.runs_with

listing.install

listing.local.explain

npx -y mobilebuildmcp@latest mcp

listing.local.needs listing.local.note

  • INCREMENTAL_BUILDS_ENABLED listing.env.optional Enable experimental xcodemake incremental builds (true/false or 1/0).
  • XCODEBUILDMCP_ENABLED_WORKFLOWS listing.env.optional Comma-separated list of workflows to load at startup (e.g., 'simulator,device,project-discovery').
  • XCODEBUILDMCP_SENTRY_DISABLED listing.env.optional Disable Sentry error reporting (preferred flag).
  • XCODEBUILDMCP_DEBUG listing.env.optional Enable verbose debug logging from the server.

listing.share.h

listing.share.p_local

mcp.tc/i/mobilebuildmcp

listing.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

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio mobilebuildmcp -- npx -y mobilebuildmcp@latest mcp
  1. Start Claude Code and type /mcp. mobilebuildmcp should show as connected.

Add --scope user to make it available in every project.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "mobilebuildmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mobilebuildmcp@latest",
        "mcp"
      ]
    }
  }
}
  1. 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):

mcp.json
{
  "mcpServers": {
    "mobilebuildmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mobilebuildmcp@latest",
        "mcp"
      ]
    }
  }
}

Needs Node.js on your computer.

VS Code

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:

.vscode/mcp.json
{
  "servers": {
    "mobilebuildmcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mobilebuildmcp@latest",
        "mcp"
      ]
    }
  }
}

Needs Node.js on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "mobilebuildmcp": {
      "command": "npx",
      "args": [
        "-y",
        "mobilebuildmcp@latest",
        "mcp"
      ]
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add mobilebuildmcp -- npx -y mobilebuildmcp@latest mcp

Or edit ~/.codex/config.toml directly:

config.toml
[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 mcp

This 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

em.prev_lightem.prev_dark
Markdown
[![MobileBuildMCP on mcp.tc](https://mcp.tc/i/mobilebuildmcp/badge.svg)](https://mcp.tc/i/mobilebuildmcp)
HTML
<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

HTML
<script src="https://mcp.tc/w/mobilebuildmcp.js" async></script>

listing.em.widget_note

iframe

HTML
<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

JSON

listing.em.json_local

https://mcp.tc/i/mobilebuildmcp.json

listing.em.fields

listing.disclaimer_checked