🍎 MCP server for Xcode's xctrace, xcrun, xcodebuild.
A Model Context Protocol (MCP) server that provides structured access to Xcode development tools including xcrun
, xcodebuild
, and xctrace
.
Prerequisites:
curl -LsSf https://astral.sh/uv/install.sh | sh
Run directly with uvx:
uvx xctools-mcp-server
Prerequisites:
Clone and install:
git clone https://github.com/nzrsky/xctools-mcp-server
cd xctools-mcp-server
pip install .
Run the server:
xctools-mcp-server
python -m build --wheel
pip install dist/xctools_mcp_server-0.1.0-py3-none-any.whl
Add to your ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"xctools": {
"command": "xctools-mcp-server",
"args": [],
"env": {}
}
}
}
Or if using uvx:
{
"mcpServers": {
"xctools": {
"command": "uvx",
"args": ["xctools-mcp-server"],
"env": {}
}
}
}
settings.json
):{
"mcp.servers": {
"xctools": {
"command": "xctools-mcp-server",
"args": [],
"env": {}
}
}
}
Or if using uvx:
{
"mcp.servers": {
"xctools": {
"command": "uvx",
"args": ["xctools-mcp-server"],
"env": {}
}
}
}
Cmd+Shift+P
) and search for "MCP" commands to interact with the Xcode development toolsThe server runs on stdio, so you can invoke it directly:
With installed package:
xctools-mcp-server
With uvx:
uvx xctools-mcp-server
xcrun
xcodebuild
xctrace
(Instruments)xcrun_find_tool
- Find the path to development tools (clang, swift, etc.)xcrun_show_sdk_path
- Show the path to SDKsxcrun_show_sdk_version
- Show SDK versionsxcrun_run_tool
- Run any development tool via xcrunxcodebuild_build
- Build Xcode projects or workspacesxcodebuild_test
- Run tests for projects/workspacesxcodebuild_archive
- Archive projects for distributionxcodebuild_list
- List targets, schemes, and configurationsxcodebuild_show_sdks
- List all available SDKsxcodebuild_show_destinations
- Show valid build destinationsxctrace_record
- Record new Instruments tracesxctrace_import
- Import supported files into trace formatxctrace_export
- Export data from trace filesxctrace_list
- List available devices, templates, or instrumentsxctrace_symbolicate
- Symbolicate traces with debug symbols# Find the path to a specific tool
"Find the path to clang compiler"
# Show SDK path for iOS
"Show the path to the iOS SDK"
# Get SDK version information
"Show the version of the iOS SDK"
# Build an Xcode project
"Build the project MyApp.xcodeproj for iOS simulator"
# Run tests for a workspace
"Run tests for MyApp.xcworkspace on iPhone 15 Pro simulator"
# Archive for distribution
"Archive MyApp.xcworkspace for release"
# List project information
"List all schemes and targets in MyApp.xcodeproj"
# Record a trace for Time Profiler
"Record a Time Profiler trace for MyApp on iPhone 15 Pro for 30 seconds"
# List available instruments
"List all available Instruments templates"
# Export trace data
"Export data from trace file to XML format"
# Import a file for analysis
"Import a .dtps file into Instruments trace format"
# List all available SDKs
"Show all available SDKs for building"
# Show build destinations
"List all available destinations for iOS builds"
# Run a tool via xcrun
"Run swift command with version flag via xcrun"
The server includes comprehensive error handling:
"xcrun: error: unable to find utility"
xcode-select --install
xcode-select -p
"No developer directory found"
sudo xcodebuild -license accept
Permission errors
Tool not found errors
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
An MCP server (and command-line tool) to provide a dynamic map of chat-related files from the repository with their function prototypes and related files in order of relevance. Based on the "Repo Map" functionality in Aider.chat
Generate and render Mermaid diagrams as images using LLMs.
Integrates with the Neo N3 blockchain for wallet management, asset transfers, contract interactions, and blockchain queries.
Enable your code gen agents to create & run 0-config end-to-end tests against new code changes in remote browsers via the Debugg AI testing platform.
A natural language interface for cell-cell communication analysis using the Liana framework.
A comprehensive MCP server for tooling interactions(40+) and resource accessibility(60+) plus many useful prompts to interact with Algorand Blockchain.
Quickly retrieve SVGs using the Iconify API, with no external data files required.
Interact with the Unstructured API to manage data sources, destinations, workflows, and jobs.
A demonstration tool showcasing potential security attack vectors against the Model Control Protocol (MCP).
Interact with your crash reporting and real using monitoring data on your Raygun account