MCP ExplorerExplorer

Xcode Mcp Server

@PolarVistaon 9 months ago
40 MIT
FreeCommunity
AI Systems
# Xcode MCP Server The Xcode MCP Server is a Model Context Protocol (MCP) server that allows AI applications to seamlessly build and test Xcode projects. It features custom build configurations, real-time log streaming, and detailed reporting, enhancing development efficiency and integrating with AI toolsets.

Overview

What is Xcode Mcp Server

Xcode-mcp-server is a Model Context Protocol server designed for building and testing Xcode projects directly from LLM (Large Language Model) applications. It provides a standardized interface for AI assistants to trigger builds, run tests, monitor progress, and access logs.

Use cases

Use cases for Xcode-mcp-server include automating the build and testing process for iOS applications, integrating with AI tools to enhance development workflows, and providing real-time feedback on build and test operations.

How to use

To use Xcode-mcp-server, first clone the repository and install the dependencies. Start the server by specifying the path to the build logs directory. Configure your LLM application (e.g., Claude Desktop) to communicate with the server using the provided commands for building projects and running tests.

Key features

Key features include the ability to build Xcode projects with custom schemes, run unit tests with granular control, generate code coverage reports, stream logs in real-time, and access detailed reports in JSON format.

Where to use

undefined

Content

Xcode MCP Server

A Model Context Protocol server for building Xcode projects directly from LLM applications

The Xcode MCP Server provides a Model Context Protocol interface for building and testing Xcode projects. It enables AI assistants to directly trigger builds, run tests, monitor progress, and access logs through a standardized interface.

Features

  • Build Xcode projects with custom schemes and configurations
  • Run unit tests with granular control (run specific tests or skip tests)
  • Generate code coverage reports
  • Stream build and test logs in real-time
  • Access detailed build and test reports
  • JSON-formatted output
  • Automatic log persistence

Requirements

  • Node.js 16+
  • Xcode Command Line Tools
  • TypeScript
  • MCP-compatible client (e.g., Claude Desktop)

Installation

# Clone the repository
git clone https://github.com/PolarVista/Xcode-mcp-server.git
cd xcode-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

Usage with Claude Desktop

  1. Start the server:

    npm run start /path/to/build/logs/directory
    
  2. In Claude Desktop settings:

           "command": "node",
           "args": ["/path/to/the/xcode-mcp-server/build/index.js",
                    "/path/to/your/project/folder"],
           "env": {
             "PATH": "/usr/bin:/bin:/usr/local/bin:/usr/sbin:/sbin"
       }
    

Available Tools

build_project

Builds an Xcode project with specified parameters.

Parameters:

  • projectPath (required): Path to the .xcodeproj or .xcworkspace
  • scheme (required): Build scheme name
  • configuration (optional): Build configuration (Debug/Release, defaults to Debug)
  • destination (optional): Build destination (defaults to “platform=iOS Simulator,name=iPhone 15 Pro”)

Example usage in Claude:

build_project({
  projectPath: "/path/to/Project.xcodeproj",
  scheme: "MyApp",
  configuration: "Debug"
})

run_tests

Runs unit tests with optional filtering.

Parameters:

  • projectPath (required): Path to the .xcodeproj or .xcworkspace
  • scheme (required): Test scheme name
  • testIdentifier (optional): Specific test to run (e.g., ‘MyTests/testExample’)
  • skipTests (optional): Array of test identifiers to skip
  • configuration (optional): Build configuration (Debug/Release, defaults to Debug)
  • destination (optional): Test destination (defaults to “platform=iOS Simulator,name=iPhone 15 Pro”)

Example usage in Claude:

run_tests({
  projectPath: "/path/to/Project.xcodeproj",
  scheme: "MyAppTests",
  testIdentifier: "LoginTests/testSuccessfulLogin",
  skipTests: ["PerformanceTests/testLargeDataLoad"],
  configuration: "Debug"
})

Logs

  • All logs are stored in the specified base directory under build-logs/
  • Build operations create:
    • Plain text log (build-[timestamp].log)
    • JSON-formatted log (build-[timestamp].log.json)
    • Xcode report (report-[timestamp].txt)
  • Test operations create:
    • Test log (test-[timestamp].log)
    • JSON-formatted log (test-[timestamp].log.json)
    • Test report (test-report-[timestamp].txt)
    • Code coverage report (coverage-[timestamp].txt)
  • Latest log (build or test) is accessible via the xcode-build://latest-log resource

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers