MCPXcode
About
MCPXcode is an open-source implementation of the Model Context Protocol (MCP) for Xcode. It bridges Xcode’s development environment with AI assistants by wrapping command-line tools like xcrun and xctrace and leveraging macOS accessibility features, enabling structured context…
Details
- License
- MIT
Explore
- ⬜ MCP-compliant Python client library
- ⬜ Context-aware integration with AI-powered CI/CD tools
- ⬜ Semantic context monitoring dashboard
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCPXcodeCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install uv, clone the repository, add the mcp[cli] dependency, then configure your MCP client (e.g., Claude Desktop) with the JSON snippet specifying the uv command, directory path, and main.py as the run target. Once configured, the server exposes MCP tools that can be invoked via natural language prompts.
list_devices
List all available simulator devices with detailed information
boot_device
Boot a specific simulator device identified by its UDID
shutdown_device
Shutdown a running simulator device
install_app
Install an application on a simulator device
launch_app
Launch an installed application on a simulator device
get_sdk_path
Get the path of the current SDK
get_sdk_version
Get the version of the current SDK
get_sdk_platform_path
Get the platform path of the current SDK
find_developer_tool
Find the path of a specific developer tool
run_tool_with_sdk
Run a developer tool with a specific SDK
xcrun_list_sdks
List all available SDKs with detailed information
xcrun_list_schemes
List all schemes in a specified Xcode project
xcrun_build
Build an Xcode project with specified scheme and configuration
xcrun_validate_app
Validate an app before submission to App Store
xcrun_upload_app
Upload an app to App Store Connect
xcrun_swift_symbols
Extract Swift symbols from a binary file
xcrun_otool_headers
Show Mach-O headers of a binary file
xcrun_otool_libraries
Show linked libraries of a binary file
xcrun_nm_symbols
Show symbols in a binary file
xctrace_devices
List available devices for tracing
xctrace_templates
List available templates for tracing
xctrace_record
Record app performance using a specified template
xctrace_record_advanced
Record app performance with advanced options
xctrace_attach_process
Attach to a running process for tracing
xctrace_export
Export trace data to a specified format
xctrace_diagnose
Diagnose a trace archive for issues
xctrace_document
Generate documentation for a template
xctrace_analyze
Analyze a trace file and generate performance reports
xctrace_compare
Compare two trace files and generate a comparison report
- xcrun Tool Extensions
- Context-aware interfaces for common xcrun commands
- Structured output formatting for AI consumption
- Semantic error handling and diagnostic reporting
- xctrace Tool Extensions
- Context-enhanced profiling and tracing for iOS/macOS applications
- Structured performance metrics collection for AI analysis
- Trace data processing with semantic context
| Tool | Description | Example Prompt |
|------|-------------|----------------|
| list_devices | List all available simulator devices with detailed information | "Show me all available iOS simulator devices and their status." |
| boot_device | Boot a specific simulator device identified by its UDID | "Boot the iPhone 14 Pro simulator with UDID A1B2C3D4-E5F6-7890-1234-567890ABCDEF." |
| shutdown_device | Shutdown a running simulator device | "Shutdown the currently running iPhone simulator with UDID A1B2C3D4-E5F6-7890-1234-567890ABCDEF." |
| install_app | Install an application on a simulator device | "Install the app at path /Users/username/MyApp.app on the iPhone 14 simulator." |
| launch_app | Launch an installed application on a simulator device | "Launch the app with bundle ID com.example.myapp on the iPhone 14 simulator." |
| Tool | Description | Example Prompt |
|------|-------------|----------------|
| get_sdk_path | Get the path of the current SDK | "What is the path to the current iOS SDK?" |
| get_sdk_version | Get the version of the current SDK | "What version of the iOS SDK am I using?" |
| get_sdk_platform_path | Get the platform path of the current SDK | "Where are the iOS platform files located?" |
| find_developer_tool | Find the path of a specific developer tool | "Where is the 'lldb' binary located in the Xcode toolchain?" |
| run_tool_with_sdk | Run a developer tool with a specific SDK | "Run the 'clang' tool with the iOS SDK to compile my source file." |
| Tool | Description | Example Prompt |
|------|-------------|----------------|
| xcrun_list_sdks | List all available SDKs with detailed information | "Show me all available SDKs I can build against." |
| xcrun_list_schemes | List all schemes in a specified Xcode project | "What are all the build schemes in my MyApp.xcodeproj project?" |
| xcrun_build | Build an Xcode project with specified scheme and configuration | "Build my MyApp.xcodeproj project using the Debug configuration for the iPhone simulator." |
| xcrun_validate_app | Validate an app before submission to App Store | "Validate my MyApp.ipa file before submitting it to the App Store." |
| xcrun_upload_app | Upload an app to App Store Connect | "Upload my validated MyApp.ipa file to App Store Connect for review." |
| xcrun_swift_symbols | Extract Swift symbols from a binary file | "Extract and show me all Swift symbols from my app's binary." |
| xcrun_otool_headers | Show Mach-O headers of a binary file | "Show me the Mach-O headers of my app's binary file." |
| xcrun_otool_libraries | Show linked libraries of a binary file | "What libraries is my app's binary linked against?" |
| xcrun_nm_symbols | Show symbols in a binary file | "Show me all symbols in my app's binary file." |
| Tool | Description | Example Prompt |
|------|-------------|----------------|
| xctrace_devices | List available devices for tracing | "Show me all devices I can run performance traces on." |
| xctrace_templates | List available templates for tracing | "What trace templates are available for performance profiling?" |
| xctrace_record | Record app performance using a specified template | "Record a performance trace of my app using the Time Profiler template." |
| xctrace_record_advanced | Record app performance with advanced options | "Record a performance trace with custom template options and set the environment variable DEBUG=1." |
| xctrace_attach_process | Attach to a running process for tracing | "Attach a performance tracer to my running app with process ID 12345." |
| xctrace_export | Export trace data to a specified format | "Export my trace.trace file to JSON format for analysis." |
| xctrace_diagnose | Diagnose a trace archive for issues | "Analyze my trace file for any performance issues or problems." |
| xctrace_document | Generate documentation for a template | "Create documentation for the Allocations template so I can understand its metrics." |
| xctrace_analyze | Analyze a trace file and generate performance reports | "Generate performance reports from my time profiler trace file." |
| xctrace_compare | Compare two trace files and generate a comparison report | "Compare the performance between trace files from version 1.0 and version 2.0 of my app." |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcpxcode": {
"MCPXcode": {
"command": "uv",
"args": [
"--directory",
"<Path>/MCPXcode",
"run",
"main.py"
]
}
}
}
}
McpServers
{
"MCPXcode": {
"command": "uv",
"args": [
"--directory",
"<Path>/MCPXcode",
"run",
"main.py"
]
}
}
!!! This Project is in Active Development, So May Have Unexpected Issues
Introduction
MCPXcode is an open-source implementation of the Model Context Protocol (MCP) for Xcode. It enables seamless integration between Xcode and AI assistants by providing a structured protocol for context exchange and tool execution within the Xcode environment.
Following the MCP specification, this project creates a bridge between Xcode's development environment and AI tools, allowing for enhanced developer workflows through contextual understanding and programmable interactions. It wraps common command-line tools (xcrun, xctrace) and leverages macOS accessibility features to enable AI-assisted automation of Xcode operations.
Screenshots
<p align="center">


</p>
Installation
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



