Last Updated: 2025-01-11 Purpose: Complete guide for installing and configuring XcodeBuildMCP with all supported AI tools
# 1. Clone and build
git clone <your-repo-url>
cd XcodeBuildMCP
npm install
npm run build
# 2. Configure all AI tools
./scripts/setup-claude-code.sh all
# 3. Verify installation
./scripts/setup-claude-code.sh --verify-only all- macOS 14+ (Sonoma) or later
- Node.js 18+ (recommended: latest LTS)
- Xcode 15+ with command line tools
- jq (JSON processor for configuration scripts)
# Install Node.js (if not already installed)
brew install node
# Install jq (required for setup scripts)
brew install jq
# Install Xcode command line tools (if not already installed)
xcode-select --install# Clone the repository
git clone https://github.com/your-org/XcodeBuildMCP.git
cd XcodeBuildMCP
# Install dependencies
npm install
# Build the project
npm run build
# Verify build
ls -la build/index.js# Configure all supported AI tools
./scripts/setup-claude-code.sh all
# Or configure specific tools
./scripts/setup-claude-code.sh claude-code
./scripts/setup-claude-code.sh claude-desktop
./scripts/setup-claude-code.sh factory-droidSee MCP_CONFIG_LOCATIONS.md for detailed manual configuration steps.
# Verify all configurations
./scripts/setup-claude-code.sh --verify-only all
# Test with Claude Code CLI
claude mcp list
# Test with Factory Droid
# (Restart Factory Droid if already running)Features:
- 3 configuration scopes (local, project, user)
- CLI-based management
- Hot-reload support
- Development debugging tools
Configuration:
# Add XcodeBuildMCP
claude mcp add --transport stdio xcodebuildmcp -- node /path/to/XcodeBuildMCP/build/index.js
# List configured servers
claude mcp list
# Remove server
claude mcp remove xcodebuildmcpScopes:
--scope local(default): Project-specific, user-private--scope project: Team-shared via Git--scope user: Cross-project, user-private
Features:
- GUI-based configuration
- User-friendly setup
- Visual interface
Configuration:
- Open Claude Desktop
- Settings → Developer → Edit Config
- Add configuration (see MCP_CONFIG_LOCATIONS.md)
- Restart Claude Desktop
Limitations:
- Global configuration only
- Manual editing required
- No hot-reload support
Features:
- Global configuration
- Similar to Claude Desktop
- Command-line interface
Configuration:
# Edit configuration file
~/.factory/mcp.json
# Restart Factory Droid to apply changes# 1. Make changes to code
# 2. Build locally
npm run build
# 3. Test with Claude Code hot-reload
# (No restart needed for Claude Code with stdio servers)
# 4. Test with other tools (requires restart)
# Restart Claude Desktop or Factory Droid# Development build with watch mode
npm run dev
# Bundle axe CLI tool (required for local MCP server)
npm run bundle:axe
# Run tests
npm run test
# Type checking
npm run typecheck
# Linting
npm run lint
npm run lint:fix# Using Reloaderoo (recommended for development)
npx reloaderoo inspect list-tools -- node build/index.js
# Call a specific tool
npx reloaderoo inspect call-tool list_sims --params '{}' -- node build/index.js
# Start persistent server for testing
npx reloaderoo proxy -- node build/index.jsXcodeBuildMCP includes visionOS support. Ensure you have:
# List available visionOS simulators
npx reloaderoo inspect call-tool list_sims --params '{}' -- node build/index.js
# Test visionOS build
npx reloaderoo inspect call-tool build_sim --params '{"platform":"visionOS Simulator"}' -- node build/index.jsStandard iOS development tools are supported:
# List iPad simulators
npx reloaderoo inspect call-tool list_sims --params '{}' -- node build/index.js
# Build for iPad
npx reloaderoo inspect call-tool build_sim --params '{"simulatorName":"iPad Pro"}' -- node build/index.jsNative macOS app development:
# Build macOS app
npx reloaderoo inspect call-tool build_macos --params '{"projectPath":"/path/to/project.xcodeproj","scheme":"YourScheme"}' -- node build/index.js# Clear build cache
rm -rf build
npm run build
# Check Node.js version
node --version # Should be 18+# Verify configuration files exist
ls -la ~/.claude.json
ls -la ~/Library/Application\ Support/Claude/claude_desktop_config.json
ls -la ~/.factory/mcp.json
# Use setup script to fix
./scripts/setup-claude-code.sh --verify-only all# Test MCP server directly
node build/index.js
# Check if build is current
npm run build
# Verify paths in configuration files# Enable debug logging for Claude Code
claude --mcp-debug
# Check MCP server output
npx reloaderoo proxy --log-level debug -- node build/index.js- Claude Code:
~/.claude/debug/ - Claude Desktop: Console.app
- Factory Droid: Session logs
- XcodeBuildMCP: Configured via environment variables
{
"mcpServers": {
"XcodeBuildMCP": {
"type": "stdio",
"command": "node",
"args": ["/path/to/XcodeBuildMCP/build/index.js"],
"env": {
"XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator,device,logging,project-discovery,ui-testing",
"XCODEBUILDMCP_SENTRY_DISABLED": "true",
"INCREMENTAL_BUILDS_ENABLED": "false"
}
}
}
}{
"mcpServers": {
"XcodeBuildMCP": {
"command": "node",
"args": ["/path/to/XcodeBuildMCP/build/index.js"],
"env": {
"XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator,device,logging,project-discovery,ui-testing",
"XCODEBUILDMCP_SENTRY_DISABLED": "true",
"INCREMENTAL_BUILDS_ENABLED": "false"
}
}
}
}{
"mcpServers": {
"XcodeBuildMCP": {
"type": "stdio",
"command": "node",
"args": ["/path/to/XcodeBuildMCP/build/index.js"],
"env": {
"XCODEBUILDMCP_ENABLED_WORKFLOWS": "simulator,device,logging,project-discovery,ui-testing",
"XCODEBUILDMCP_SENTRY_DISABLED": "true",
"INCREMENTAL_BUILDS_ENABLED": "false"
},
"disabled": false
}
}
}# Enable specific workflows
export XCODEBUILDMCP_ENABLED_WORKFLOWS="simulator,device,logging,project-discovery,ui-testing"
# Disable Sentry error reporting
export XCODEBUILDMCP_SENTRY_DISABLED="true"
# Disable incremental builds
export INCREMENTAL_BUILDS_ENABLED="false"
# Enable debug logging
export XCODEBUILDMCP_DEBUG="true"# MCP server timeout (milliseconds)
export MCP_TIMEOUT=30000
# Maximum MCP output tokens
export MAX_MCP_OUTPUT_TOKENS=50000
# Enable debug logging
export ANTHROPIC_LOG=debugAfter installation:
- Test visionOS builds: See
AGENT_QUICK_START.md - Explore tools: Use
/mcpin Claude Code to see available tools - Read documentation:
docs/TOOLS.mdfor complete tool reference - Join community: GitHub discussions for support
- Documentation: See
docs/directory - Issues: GitHub issues
- Quick Reference:
AGENT_QUICK_START.md - Configuration:
MCP_CONFIG_LOCATIONS.md
Check your version:
cd XcodeBuildMCP
npm run versionFor release notes, see CHANGELOG.md.