A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP ships as a single package with two modes: a CLI for direct terminal use and an MCP server for AI coding agents. Both installation methods give you both modes.
brew tap getsentry/xcodebuildmcpbrew install xcodebuildmcp
Use the CLI:
xcodebuildmcp --help
MCP client config:
"XcodeBuildMCP": { "command": "xcodebuildmcp", "args": ["mcp"]}
Upgrade later with brew update && brew upgrade xcodebuildmcp.
For CLI use, install globally:
npm install -g xcodebuildmcp@latestxcodebuildmcp --help
For MCP server only, no global install needed — add directly to your client config:
"XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"]}
To pin a specific version, replace @latest with an exact version (e.g. xcodebuildmcp@latest).
The examples below use npx (Option B). If you installed via Homebrew, replace the command with "command": "xcodebuildmcp", "args": ["mcp"] instead.
Recommended (project-scoped): add .cursor/mcp.json in your workspace root:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
For global Cursor config (~/.cursor/mcp.json), use this variant so startup is aligned with the active workspace:
{ "mcpServers": { "XcodeBuildMCP": { "command": "/bin/zsh", "args": [ "-lc", "cd \"${workspaceFolder}\" && exec npx -y xcodebuildmcp@latest mcp" ] } }}
Or use the quick install link:
Run:
claude mcp add XcodeBuildMCP -- npx -y xcodebuildmcp@latest mcp
Run:
codex mcp add XcodeBuildMCP -- npx -y xcodebuildmcp@latest mcp
Or add to ~/.codex/config.toml:
[mcp_servers.XcodeBuildMCP]command = "npx"args = ["-y", "xcodebuildmcp@latest", "mcp"]
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
Add to your VS Code settings JSON:
"mcp": { "servers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
Or use the quick install links:
Workspace-level (applies only to the current workspace): add .kiro/settings/mcp.json in your project root:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
User-level (applies globally across all workspaces): add to ~/.kiro/settings/mcp.json:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
Add to ~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
Add to ~/Library/Application Support/Trae/User/mcp.json:
{ "mcpServers": { "XcodeBuildMCP": { "command": "npx", "args": ["-y", "xcodebuildmcp@latest", "mcp"] } }}
Requires Xcode 26.3 or later. Codex agent must be installed and configured in Xcode Settings -> Intelligence -> Open AI.
The only way at the time of writing to add an MCP server is to use a project scoped .codex/config.toml file in the root of your project workspace:
/path/to/your/project/.codex/config.toml
[mcp_servers.XcodeBuildMCP]args = ["-lc","PATH=/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; export NVM_DIR=\"$HOME/.nvm\"; [ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"; nvm use --silent >/dev/null 2>&1 || true; npx -y xcodebuildmcp@latest mcp"]command = "/bin/zsh"enabled = truetool_timeout_sec = 10000
NOTE: Codex Agent when running in Xcode has a limited PATH by default. The above example should work for most users but if you find the server doesn't start or is not available, it's likely because npx is not found so you might have to adjust the above configuration accordingly.
Requires Xcode 26.3 or later. Claude Code agent must be installed and configured in Xcode Settings -> Intelligence -> Anthropic.
Add to the end or replace the existing mcpServers object in Xcode's Claude Code agent config at:
~/Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig/.claude.json
// ... rest of file ... "mcpServers": { "XcodeBuildMCP": { "command": "/bin/zsh", "args": [ "-lc", "PATH=/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; export NVM_DIR=\"$HOME/.nvm\"; [ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"; nvm use --silent >/dev/null 2>&1 || true; npx -y xcodebuildmcp@latest mcp" ] } }}
NOTE: Claude Code Agent when running in Xcode has a limited PATH by default. The above example should work for most users but if you find the server doesn't start or is not available, it's likely because npx is not found so you might have to adjust the above configuration accordingly.
Run the following command inside the AdaL CLI prompt:
/mcp add XcodeBuildMCP --command npx --args "-y,xcodebuildmcp@latest,mcp"
For other installation options see Getting Started.
XcodeBuildMCP now includes two optional agent skills:
MCP Skill: Primes the agent with instructions on how to use the MCP server's tools (optional when using the MCP server).
CLI Skill: Primes the agent with instructions on how to navigate the CLI (recommended when using the CLI).
To install with a global binary:
xcodebuildmcp init
Or install directly via npx without a global install:
npx -y xcodebuildmcp@latest init
For further information on installing skills, see: docs/SKILLS.md
XcodeBuildMCP uses Sentry for internal runtime error telemetry only. For details and opt-out instructions, see docs/PRIVACY.md.
XcodeBuildMCP provides a unified command-line interface. The mcp subcommand starts the MCP server, while all other commands provide direct terminal access to tools:
# Install globallynpm install -g xcodebuildmcp@latest # Start the MCP server (for MCP clients)xcodebuildmcp mcp # List available toolsxcodebuildmcp tools # Build for simulatorxcodebuildmcp simulator build --scheme MyApp --project-path ./MyApp.xcodeproj
Check for updates and upgrade in place:
xcodebuildmcp upgrade --checkxcodebuildmcp upgrade --yes
The CLI uses a per-workspace daemon for stateful operations (log capture, debugging, etc.) that auto-starts when needed. See docs/CLI.md for full documentation.
This project is licensed under the MIT License - see the LICENSE file for details. For third-party licensing notices see the THIRD_PARTY_LICENSES file for details. For npm package attributions see the THIRD_PARTY_PACKAGE_LICENSES file for details.