Skip to main content
Glama
nazufel

Xcode Errors MCP Server

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