A comprehensive Model Context Protocol (MCP) server and CLI for Xcode/iOS development automation. Build, test, and manage Apple platforms from the command line or AI agents.
- List, boot, shutdown, erase simulators
- Create, clone, rename, delete devices
- Manage device runtimes
- Install/uninstall apps on simulators
- Launch, terminate, get app info
- Manage app containers
- Build projects and workspaces
- Run tests with detailed output
- Static code analysis
- Archive for distribution
- List available certificates
- Code sign binaries
- Verify signatures
- Find Xcode projects in directories
- Show schemes and build settings
- List available destinations
- Read/write plist files
- Extract strings from bundles
git clone https://github.com/yourusername/xcode-mcp.git
cd xcode-mcp
npm install# Show all commands
node cli.js
# Xcode info
node cli.js xcode-version
node cli.js list-sdks
node cli.js list-schemes --project MyApp.xcodeproj
# Simulators
node cli.js list-simulators
node cli.js boot-simulator "iPhone 17 Pro"
node cli.js launch-app booted com.example.myapp
# Build
node cli.js build --project MyApp.xcodeproj --scheme MyApp \
--destination "platform=iOS Simulator,name=iPhone 17 Pro"| Category | Command | Description |
|---|---|---|
| Info | xcode-version |
Get Xcode version |
list-sdks |
List available SDKs | |
list-schemes |
List project schemes | |
| Simulator | list-simulators |
List iOS simulators |
boot-simulator |
Boot a simulator | |
shutdown-simulator |
Shutdown simulator | |
erase-simulator |
Erase simulator data | |
create-simulator |
Create new device | |
| Apps | install-app |
Install .app |
uninstall-app |
Remove app | |
launch-app |
Launch app | |
terminate-app |
Force quit app | |
| Build | build |
Build project |
test |
Run tests | |
analyze |
Static analysis | |
archive |
Create archive | |
| Signing | list-certificates |
Code signing certs |
codesign |
Sign binary | |
verify-codesign |
Verify signature |
Common options for build/test commands:
--project, -p Path to .xcodeproj
--workspace, -w Path to .xcworkspace
--scheme, -s Scheme name
--destination, -d Destination (e.g., "platform=iOS Simulator,name=iPhone 17 Pro")
--configuration, -cfg Debug or Release
--sdk SDK (e.g., iphoneos26.2, iphonesimulator26.2)node cli.js build \
--project MyApp.xcodeproj \
--scheme MyApp \
--destination "platform=iOS Simulator,name=iPhone 17 Pro" \
--configuration Debugnode cli.js test \
--project MyApp.xcodeproj \
--scheme MyAppTests \
--destination "platform=iOS Simulator,name=iPhone 17 Pro"# Install
node cli.js install-app booted ./build/Debug-iphonesimulator/MyApp.app
# Launch
node cli.js launch-app booted com.example.myapp
# Check status
node cli.js list-apps bootednode cli.js find-projects ~/ProjectsThis tool can also run as an MCP server for AI agents:
# Start MCP server
node index.js
# Tools are exposed via JSON-RPC- macOS with Xcode 15+
- Node.js 18+
- Xcode Command Line Tools
MIT
Pull requests welcome! Especially for:
- Additional xcodebuild options
- More simulator features
- Better error handling
- Additional platform support (tvOS, watchOS)