Overview
Xcode MCP Server is a Model Context Protocol server designed for building and testing Xcode projects directly from LLM applications, enabling seamless integration with AI assistants.
To use the Xcode MCP Server, clone the repository, install dependencies, and start the server. Then, configure your LLM application (like Claude Desktop) to trigger builds and tests.
- Build Xcode projects with custom schemes and configurations - Run unit tests with granular control - Generate code coverage reports - Stream build and test logs in real-time - Access detailed build and test reports - JSON-formatted output - Automatic log persistence
- Automating the build process for iOS applications
- Running unit tests with specific configurations
- Monitoring build progress and logs in real-time
Add to your AI client
Use these steps to connect Xcode MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"polarvista-xcode-mcp-server-mcp-mirror": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-polarvista-xcode-mcp-server-mcp-mirror"
]
}
}
}FAQ
What are the requirements to run Xcode MCP Server?
You need Node.js 16+, Xcode Command Line Tools, TypeScript, and an MCP-compatible client.
Can I use Xcode MCP Server with any LLM application?
Yes, as long as the application supports the Model Context Protocol.
How are logs stored?
Logs are stored in a specified directory, with both plain text and JSON-formatted outputs.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":714,"uuid":"121e4c17-30b6-4a8e-abae-4c90645894bb","name":"PolarVista_Xcode-mcp-server","title":"Xcode MCP Server","description":"Mirror of","avatar_url":"https://avatars.githubusercontent.com/u/192820360?v=4","created_at":"2024-12-30T03:27:19.002Z","updated_at":"2025-02-23T07:16:03.117Z","status":"created","author_name":"MCP-Mirror","author_avatar_url":"https://avatars.githubusercontent.com/u/192820360?v=4","tags":"xcode,mcp-server,build-automation","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/MCP-Mirror/PolarVista_Xcode-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]