
MCP server for Xcode
MCP server for Xcode
!!! This Project is in Active Development, So May Have Unexpected Issues
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.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/everettjf/MCPXcode.git
cd MCPXcode
source .venv/bin/activate
uv add "mcp[cli]"{
"mcpServers": {
"MCPXcode": {
"command": "uv", # may use full path
"args": [
"--directory",
"<Path>/MCPXcode", # change to your full path
"run",
"main.py"
]
}
}
}xcrun Tool Extensions
xctrace Tool Extensions
Accessibility Tool Extensions
MCP HTTP Server
MCP Client Libraries
| 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." |
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
This repo does not document an install step we could read. Check the README on GitHub.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/mcpxcode to learn what the "MCPXcode" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
This server doesn't publish a machine-readable tool manifest, and it doesn't expose a public endpoint we could ask. Connect the server locally to see what it exposes.
Maintain this server? Claiming proves you own the listing and earns the last 4 points.
Claim this listingPaste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/mcpxcode)Nothing comparable is listed yet.
No tagged releases on record.
Connect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "mcpxcode" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.