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
Start the server:
npm run start /path/to/build/logs/directoryIn 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 .xcworkspacescheme(required): Build scheme nameconfiguration(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 .xcworkspacescheme(required): Test scheme nametestIdentifier(optional): Specific test to run (e.g., ‘MyTests/testExample’)skipTests(optional): Array of test identifiers to skipconfiguration(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)
- Plain text log (
- 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)
- Test log (
- Latest log (build or test) is accessible via the
xcode-build://latest-logresource
Xcode MCP Server
Project Details
- PolarVista/Xcode-mcp-server
- Last Updated: 4/21/2025
Recomended MCP Servers
MCP Server for Apache Airflow
A personal assistant AI agent built with the Model Context Protocol (MCP)
MCP server for AI image generation and editing using Google's Gemini Flash models. Create images from text prompts...
A Model Context Protocol server wrapping the official Notion SDK
Model Context Protocol (MCP) server for DeepSource
Hacker news MCP server
A server application designed on top of MCP to interact with Cursor and MySQL.
A MCP implementation of the personal intelligence framework (PIF)
A Model Context Protocol (MCP) server implementation for remote memory bank management, inspired by Cline Memory Bank.
Interact with the Paddle API using AI assistants like Claude, or in AI-powered IDEs like Cursor. Manage product...
A Model Context Protocol (MCP) server that provides Nostr capabilities to LLMs like Claude.





