Model Context Protocol server for Xcode build automation and log parsing
Model Context Protocol server for Xcode build automation and log parsing. The xcodemcp mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.
Model Context Protocol (MCP) server that controls Xcode directly through JavaScript for Automation (JXA). Available as both an MCP server and a standalone CLI.
Everything the assistant can do here goes through one of these:
xcode_open_project — Open projects and workspacesxcode_get_workspace_info — Get workspace status and detailsxcode_get_projects — List projects in workspacexcode_open_file — Open files with optional line numberxcode_build — Build with detailed error parsingxcode_clean — Clean build artifactsxcode_test — Run tests with optional argumentsxcode_build_and_run — Build and run the active schemexcode_debug — Start debugging sessionxcode_stop — Stop current operationxcode_get_schemes — List available schemesxcode_set_active_scheme — Switch active schemeYou will need 5 environment variables: XCODE_MCP_PREFERRED_SCHEME, XCODE_MCP_PREFERRED_XCODEPROJ, LOG_LEVEL, XCODEMCP_LOG_FILE, XCODEMCP_CONSOLE_LOGGING. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
brew install xclogparserThe server ships on npm as xcodemcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
Among the monitoring and observability options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. XcodeMCP's toolset — xcode_open_project, xcode_get_workspace_info, xcode_get_projects and 11 more — is a fair guide to whether it matches your workflow. It is maintained by lapfelix; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| xcode_open_project | Open projects and workspaces |
| xcode_get_workspace_info | Get workspace status and details |
| xcode_get_projects | List projects in workspace |
| xcode_open_file | Open files with optional line number |
| xcode_build | Build with detailed error parsing |
| xcode_clean | Clean build artifacts |
| xcode_test | Run tests with optional arguments |
| xcode_build_and_run | Build and run the active scheme |
| xcode_debug | Start debugging session |
| xcode_stop | Stop current operation |
| xcode_get_schemes | List available schemes |
| xcode_set_active_scheme | Switch active scheme |
| xcode_get_run_destinations | List simulators and devices |
| xcresult_browse | Browse test results and analyze failures |
{
"mcpServers": {
"xcodemcp": {
"command": "npx",
"args": ["-y", "xcodemcp@latest"],
"env": {
}
}
}
}Configuration as documented by the project. Restart the client after saving.
brew install xclogparser| Variable | Description | Required |
|---|---|---|
| XCODE_MCP_PREFERRED_SCHEME | Configuration value read at startup. | Optional |
| XCODE_MCP_PREFERRED_XCODEPROJ | Configuration value read at startup. | Optional |
| LOG_LEVEL | Configuration value read at startup. | Optional |
| XCODEMCP_LOG_FILE | Configuration value read at startup. | Optional |
| XCODEMCP_CONSOLE_LOGGING | Configuration value read at startup. | Optional |
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.
Errors with full context — stack traces, issue triage and AI-powered root-cause analysis from Sentry's server.
Enables enhanced web research capabilities for large language models through intelligent search queuing and advanced content extraction.
Automates browser interactions and enables Large Language Models (LLMs) to interact with web pages through Playwright and Chrome DevTools Protocol
Guides tool usage by providing recommendations for MCP tools at each problem-solving stage.