mcpField
M
MCPXcode

MCPXcode

Local
github.com/everettjfDeveloper Tools8Updated 84w ago

About MCPXcode

MCPXcode is an open-source MCP implementation for Xcode. It wraps command-line tools such as xcrun and xctrace to provide AI assistants with structured development and profiling operations; the project is under active development.

Key features

  1. 01Wrap xcrun commands
  2. 02Wrap xctrace profiling
  3. 03Provide structured tool output
  4. 04Report semantic errors and diagnostics
  5. 05Manage simulators and SDKs

Use cases

  1. 01List schemes and build Xcode projects
  2. 02Install or launch apps in simulators
  3. 03Record and analyze app performance traces

MCP support

MCPXcode exposes Xcode operations to AI assistants as MCP tools, including simulator, SDK, build, and performance-tracing functions.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCPXcode

!!! 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

README image README image

Installation


# 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]"

Configuration

{
  "mcpServers": {
    "MCPXcode": {
      "command": "uv", # may use full path
      "args": [
        "--directory",
        "<Path>/MCPXcode", # change to your full path
        "run",
        "main.py"
      ]
    }
  }
}

Features

Current MCP Tool Integrations
  • 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
Planned Extensions
  • Accessibility Tool Extensions

    • Context-aware UI interactions within Xcode
    • Semantic triggers for build, run, and test operations
    • Structured project navigation capabilities
    • Enhanced context extraction from Xcode UI
  • MCP HTTP Server

    • Full MCP specification compliance over HTTP
    • Standardized tool execution protocol
    • Context-preserving webhooks for build events
    • Seamless integration with AI-powered CI/CD pipelines
  • MCP Client Libraries

    • Language-specific SDKs implementing the MCP specification
    • Simplified context exchange between AI assistants and Xcode

Tool Documentation

Simulator Control Tools
ToolDescriptionExample Prompt
list_devicesList all available simulator devices with detailed information"Show me all available iOS simulator devices and their status."
boot_deviceBoot a specific simulator device identified by its UDID"Boot the iPhone 14 Pro simulator with UDID A1B2C3D4-E5F6-7890-1234-567890ABCDEF."
shutdown_deviceShutdown a running simulator device"Shutdown the currently running iPhone simulator with UDID A1B2C3D4-E5F6-7890-1234-567890ABCDEF."
install_appInstall an application on a simulator device"Install the app at path /Users/username/MyApp.app on the iPhone 14 simulator."
launch_appLaunch an installed application on a simulator device"Launch the app with bundle ID com.example.myapp on the iPhone 14 simulator."
SDK Tools
ToolDescriptionExample Prompt
get_sdk_pathGet the path of the current SDK"What is the path to the current iOS SDK?"
get_sdk_versionGet the version of the current SDK"What version of the iOS SDK am I using?"
get_sdk_platform_pathGet the platform path of the current SDK"Where are the iOS platform files located?"
find_developer_toolFind the path of a specific developer tool"Where is the 'lldb' binary located in the Xcode toolchain?"
run_tool_with_sdkRun a developer tool with a specific SDK"Run the 'clang' tool with the iOS SDK to compile my source file."
xcrun Tools
ToolDescriptionExample Prompt
xcrun_list_sdksList all available SDKs with detailed information"Show me all available SDKs I can build against."
xcrun_list_schemesList all schemes in a specified Xcode project"What are all the build schemes in my MyApp.xcodeproj project?"
xcrun_buildBuild an Xcode project with specified scheme and configuration"Build my MyApp.xcodeproj project using the Debug configuration for the iPhone simulator."
xcrun_validate_appValidate an app before submission to App Store"Validate my MyApp.ipa file before submitting it to the App Store."
xcrun_upload_appUpload an app to App Store Connect"Upload my validated MyApp.ipa file to App Store Connect for review."
xcrun_swift_symbolsExtract Swift symbols from a binary file"Extract and show me all Swift symbols from my app's binary."
xcrun_otool_headersShow Mach-O headers of a binary file"Show me the Mach-O headers of my app's binary file."
xcrun_otool_librariesShow linked libraries of a binary file"What libraries is my app's binary linked against?"
xcrun_nm_symbolsShow symbols in a binary file"Show me all symbols in my app's binary file."
xctrace Tools
ToolDescriptionExample Prompt
xctrace_devicesList available devices for tracing"Show me all devices I can run performance traces on."
xctrace_templatesList available templates for tracing"What trace templates are available for performance profiling?"
xctrace_recordRecord app performance using a specified template"Record a performance trace of my app using the Time Profiler template."
xctrace_record_advancedRecord app performance with advanced options"Record a performance trace with custom template options and set the environment variable DEBUG=1."
xctrace_attach_processAttach to a running process for tracing"Attach a performance tracer to my running app with process ID 12345."
xctrace_exportExport trace data to a specified format"Export my trace.trace file to JSON format for analysis."
xctrace_diagnoseDiagnose a trace archive for issues"Analyze my trace file for any performance issues or problems."
xctrace_documentGenerate documentation for a template"Create documentation for the Allocations template so I can understand its metrics."
xctrace_analyzeAnalyze a trace file and generate performance reports"Generate performance reports from my time profiler trace file."
xctrace_compareCompare 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."

Project Roadmap

Phase 1: MCP Core Implementation (Q2 2025)
  • ✅ Basic project structure
  • ⬜ Tool extensions for essential xcrun commands with context handling
  • ⬜ Tool extensions for basic xctrace functionality with context handling
  • ⬜ MCP-compliant CLI interface
Phase 2: MCP Server Implementation (Q3 2025)
  • ⬜ Full MCP specification HTTP server
  • ⬜ Context-aware authentication and security
  • ⬜ Structured context exchange protocol
  • ⬜ Extensible tool registry architecture
Phase 3: MCP Accessibility Extensions (Q4 2025)
  • ⬜ macOS accessibility integration with semantic context
  • ⬜ Context-aware Xcode UI automation
  • ⬜ Semantic event monitoring and contextual reactions
Phase 4: Advanced MCP Features (Q1 2026)
  • ⬜ MCP-compliant Python client library
  • ⬜ Context-aware integration with AI-powered CI/CD tools
  • ⬜ Semantic context monitoring dashboard

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.