Skip to main content
Glama
nazufel
by nazufel

Xcode Errors MCP Server (WIP)

An MLOps pipeline using MCP (Model Context Protocol) server that bridges Xcode and Cursor, enabling real-time access to Xcode build errors, warnings, and debug output directly within Cursor.

⚠️ This repo is still under development and things may break without warning.

Features

  • Real-time Error Monitoring: Automatically detects and parses Xcode build errors and warnings

  • Debug Log Streaming: Captures and streams Xcode console output and debug logs

  • Project Analysis: Analyzes Swift/SwiftUI projects for common issues

  • File Integration: Provides tools to read and modify project files based on diagnostics

  • Live Updates: Monitors DerivedData for new build results

How It Works

  1. DerivedData Monitoring: Watches Xcode's DerivedData directory for new build logs

  2. Log Parsing: Extracts structured diagnostic information from build logs

  3. Console Integration: Captures real-time debug output from Xcode's console

  4. MCP Interface: Exposes diagnostics and file operations through MCP protocol

  5. Cursor Integration: Allows Cursor to query errors and make fixes automatically

Architecture

Xcode Build System ↓ DerivedData Logs → MCP Server → Cursor/LLM ↓ ↑ Console Output ←--------┘

Installation

  1. Clone this repository:

    git clone https://github.com/YOUR_USERNAME/xcode-errors-mcp.git # Replace YOUR_USERNAME with actual GitHub username cd xcode-errors-mcp
  2. Run the installation script:

    ./install.sh
  3. Configure Cursor MCP settings:

    • Open Cursor settings

    • Navigate to MCP configuration

    • Copy the contents of cursor_config.json to your MCP configuration

    • IMPORTANT: Replace /path/to/your/xcode-errors-mcp with your actual installation path

    • Example: If you cloned to /Users/yourname/xcode-errors-mcp, update all paths accordingly

  4. Restart Cursor completely (⌘+Q and reopen) to activate the MCP server connection

Usage

Once connected, Cursor can:

  • Query current build errors: get_build_errors()

  • Monitor debug output: get_console_logs()

  • Analyze project structure: analyze_project()

  • Read/write project files: read_file(), write_file()

Quick Start

  1. Install dependencies:

    ./install.sh
  2. Test the installation:

    python3 examples/test_parser.py
  3. Configure Cursor:

    • Open Cursor Settings → Features → Model Context Protocol

    • Copy the contents of cursor_config.json to your MCP configuration

    • CRITICAL: Replace all instances of /path/to/your/xcode-errors-mcp with your actual installation path

    • Example configuration for installation in /Users/yourname/xcode-errors-mcp:

      { "mcpServers": { "xcode-errors": { "command": "/Users/yourname/xcode-errors-mcp/venv/bin/python", "args": [ "/Users/yourname/xcode-errors-mcp/src/xcode_mcp_server.py" ], "env": { "PYTHONPATH": "/Users/yourname/xcode-errors-mcp/src" } } } }
    • Restart Cursor completely (⌘+Q and reopen)

  4. Verify it's working:

    • Check that the MCP server shows a green indicator in Cursor settings

    • If you see a red indicator, check TROUBLESHOOTING.md

  5. Start using it:

    • Build a project in Xcode (to generate some logs)

    • In Cursor, you can now use tools like:

      • get_build_errors() - Get current build errors

      • get_console_logs() - Get debug output

      • list_recent_projects() - See your projects

      • analyze_project("ProjectName") - Analyze issues

Configuration Placeholders

After cloning this repository, you must update the following placeholders with your actual paths:

1. cursor_config.json

Replace /path/to/your/xcode-errors-mcp with your installation directory:

  • command: Path to your Python virtual environment

  • args: Path to the MCP server script

  • env.PYTHONPATH: Path to the src directory

2. Finding Your Installation Path

cd xcode-errors-mcp pwd # This shows your full installation path

3. Example Configuration

If you installed to /Users/yourname/xcode-errors-mcp, your cursor_config.json should look like:

{ "mcpServers": { "xcode-errors": { "command": "/Users/yourname/xcode-errors-mcp/venv/bin/python", "args": [ "/Users/yourname/xcode-errors-mcp/src/xcode_mcp_server.py" ], "env": { "PYTHONPATH": "/Users/yourname/xcode-errors-mcp/src" } } } }

For Publishers

Before publishing this repository, update the following placeholders:

  1. README.md: Replace YOUR_USERNAME with your actual GitHub username in the clone URL

  2. cursor_config.json: Already contains placeholder paths that users will need to update

  3. TROUBLESHOOTING.md: Already uses placeholder paths

Development Status

Ready for Testing - Core functionality implemented and tested!

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nazufel/xcode-errors-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server