Overview
What is MCPXcode?
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 exchange and programmable interactions.
How to use MCPXcode?
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.
Key features of MCPXcode
- Simulator control: list, boot, shutdown devices; install and launch apps
- SDK tools: get paths, version, platform path, find developer tools
- xcrun tools: list SDKs/schemes, build, validate, upload, extract symbols
- xctrace tools: record, export, compare, analyze performance traces
- Structured output formatting designed for AI consumption
Use cases of MCPXcode
- List available iOS simulators and boot a specific one for testing
- Build an Xcode project with a given scheme and configuration
- Validate and upload an app to App Store Connect
- Record and analyze performance traces of a running application
FAQ from MCPXcode
What does MCPXcode do vs alternatives?
The README does not compare MCPXcode to alternatives; it describes MCPXcode as an implementation of the Model Context Protocol for Xcode that wraps command-line tools and accessibility features.
What are the runtime requirements?
MCPXcode requires macOS, Xcode, uv (installed via the provided script), and Python with the mcp[cli] package.
Where does MCPXcode store data?
All data is local; the server interacts with local Xcode tools and simulator devices. No remote storage is mentioned.
What are the known limits of MCPXcode?
The project is in active development, so it may have unexpected issues. Planned features like accessibility extensions and an HTTP server are not yet implemented.
What transport does MCPXcode use?
The current implementation uses a CLI (stdio) transport configured via the MCP client JSON. An HTTP server fulfilling the full MCP specification is planned for Phase 2.