PluginBench
Skill
Review
Audit score 70

axiom-xcode-mcp

charleswiltgen/axiom

Set up and use Xcode's MCP server for IDE-driven builds, tests, and previews via external AI clients.

What is axiom-xcode-mcp?

Xcode ships an MCP server exposing IDE tools (build, test, preview, file operations) to external AI clients via `xcrun mcpbridge`. This skill covers setup across clients (Claude Code, Cursor, etc.), tool usage patterns, API reference, and troubleshooting for Xcode 26.3+, including headless mode on Xcode 27+.

  • Configure `xcrun mcpbridge` for any MCP client (Claude Code, Cursor, VS Code, Gemini CLI)
  • Build, test, and render SwiftUI previews via MCP tools with IDE state and diagnostics
  • Target specific workspaces and handle multi-Xcode scenarios with `MCP_XCODE_PID`
  • Run headless MCP server on Xcode 27+ without keeping Xcode.app open
  • Troubleshoot connection errors, permission dialogs, and schema compliance issues
  • Reference all Xcode MCP tool parameters, inputs, and outputs

How to install axiom-xcode-mcp

npx skills add https://github.com/charleswiltgen/axiom --skill axiom-xcode-mcp
Prerequisites
  • Xcode 26.3 or later (26.x requires a running Xcode with a project open; 27+ supports headless mode)
  • An MCP client configured to use `xcrun mcpbridge` as the transport
  • For headless mode on Xcode 27+: `sudo xcrun mcp-server enable` and `start`
Claude Code
Cursor
Windsurf
Cline

How to use axiom-xcode-mcp

  1. 1.Identify your use case: setup, tool usage, or API reference via the decision tree
  2. 2.For setup: follow client-specific configuration in xcode-mcp-setup.md (Claude Code, Cursor, etc.)
  3. 3.For tool usage: read xcode-mcp-tools.md for workflow patterns (BuildFix, TestFix, preview rendering)
  4. 4.For tool parameters: consult xcode-mcp-ref.md for schemas, required fields, and gotchas
  5. 5.Troubleshoot connection errors or permission dialogs in xcode-mcp-setup.md
  6. 6.Choose between MCP tools and CLI alternatives (xcodebuild, devicectl, simctl) based on capability, not uptime

Use cases

Good for
  • Setting up Xcode MCP for the first time with a specific client (Claude Code, Cursor)
  • Building and testing a project via MCP tools as part of an agent workflow
  • Rendering SwiftUI previews and reading IDE-filtered diagnostics that CLI tools don't expose
  • Running Xcode MCP operations in CI or headless environments on Xcode 27+
  • Debugging mcpbridge connection failures or permission dialog issues
Who it's for
  • AI coding agents and LLM clients using Xcode (Claude Code, Cursor, VS Code, Gemini CLI)
  • iOS/macOS developers automating builds, tests, and previews via MCP
  • CI/CD pipelines leveraging Xcode's IDE capabilities without a GUI
  • Teams troubleshooting Xcode MCP setup or connection issues

axiom-xcode-mcp FAQ

Do I need Xcode open to use MCP tools on Xcode 26.x?

Yes. On Xcode 26.x, `xcrun mcpbridge` requires a running Xcode with a project open. This constraint is removed on Xcode 27+ with the headless `xcrun mcp-server`.

Can I use MCP tools instead of xcodebuild?

MCP tools expose IDE state, filtered compiler diagnostics, and rendered previews that xcodebuild doesn't. Use MCP for builds/tests/previews when you need IDE context; use xcodebuild for pure CLI builds in CI.

How do I target a specific workspace or project?

Use the `workspaceIdentifier` parameter (required despite not appearing in some `required` lists). See xcode-mcp-tools.md for workspace targeting strategy and headless bootstrap.

What do I do if my MCP client can't parse Xcode's responses?

Check xcode-mcp-setup.md's schema compliance section. Some clients have strict schema validation; Xcode's tool responses may need client-specific configuration or workarounds.

Can I render SwiftUI previews via MCP?

Yes, via the RenderPreview MCP tool. See xcode-mcp-tools.md for workflow patterns and xcode-mcp-ref.md for RenderPreview parameters and output format.

Full instructions (SKILL.md)

Source of truth, from charleswiltgen/axiom.


name: axiom-xcode-mcp description: Use when connecting to Xcode via MCP, using xcrun mcpbridge or the headless mcp-server, or working with ANY Xcode MCP tool (XcodeRead, BuildProject, RunSomeTests, RenderPreview). Covers setup, tool reference, workflows, troubleshooting. license: MIT

Xcode MCP

You MUST use this skill for ANY Xcode MCP interaction — setup, tool usage, workflow patterns, or troubleshooting.

Xcode ships an MCP server exposing IDE tools to external AI clients. xcrun mcpbridge is the stdio transport clients register, available since Xcode 26.3. Xcode 27 adds an explicit "Allow External Agents to Use Xcode Tools" setting, the run-agent launch path, an agent-extension model (custom MCP servers, skills, plug-ins), and a headless server. This skill suite covers setup, tool reference, workflow patterns, and troubleshooting.

On Xcode 26.x, mcpbridge requires a running Xcode with a project open. If that's a liability, the device/simulator half of these operations has a fully Xcode-independent CLI path: devicectl + simctl + Axiom's xcui/xclog/xcsym/xcprof. See axiom-tools (skills/device-control-ref.md).

That constraint is gone on Xcode 27. xcrun mcp-server runs the tool service with Xcode.app closed — sudo xcrun mcp-server enable, then start and open <path>. Clients still register xcrun mcpbridge; the bridge is the transport, mcp-server is the service. Apple's tool schemas describe workspaceIdentifier as "used in headless mode", so headless is a supported model rather than a workaround.

Choose between MCP and the CLI tools (devicectl, simctl, and Axiom's xcui/xclog/xcsym/xcprof) on capability, not uptime. xcui asserts, waits, toggles accessibility settings, and computes VoiceOver announcements, and none of them need sudo — which still matters in CI, where the headless server's sudo opt-in may not be available. The IDE-authoring tools (build state, render previews) remain MCP-only; xcodebuild builds and tests but does not render previews.

When to Use

Use this skill when:

  • Setting up Xcode MCP for the first time
  • Configuring xcrun mcpbridge for any MCP client
  • Using any Xcode MCP tool (file ops, build, test, preview)
  • Building, testing, or previewing via MCP tools
  • Troubleshooting mcpbridge connection issues
  • Workspace targeting questions
  • Permission dialog confusion
  • Driving simulator input with AXe (tap/type/swipe) -> read skills/axe-ref.md

Routing Logic

1. Setup/Connection → xcode-mcp-setup

Triggers:

  • First-time Xcode MCP setup
  • Client-specific config (Claude Code, Cursor, Codex, VS Code, Gemini CLI)
  • Connection errors ("Connection refused", "No workspaces are currently open.")
  • Permission dialog confusion
  • Multi-Xcode targeting (MCP_XCODE_PID)
  • Schema compliance issues with strict clients
  • Giving external agents access to Xcode (Intelligence settings gate)
  • Launching an agent via Xcode config (xcrun mcpbridge run-agent)
  • Exporting Xcode's skill bundles (xcrun agent skills export)
  • Extending Xcode's agent (per-agent config files, MCP servers, plug-ins)

Read: skills/xcode-mcp-setup.md


2. Using Tools & Workflows → xcode-mcp-tools

Triggers:

  • How to build/test/preview via MCP
  • Workflow patterns (BuildFix loop, TestFix loop)
  • Tool gotchas and anti-patterns
  • Workspace targeting strategy; headless bootstrap (open or create a workspace)
  • When to use MCP tools vs CLI (xcodebuild)
  • Destructive operation safety (XcodeRM, XcodeMV)

Read: skills/xcode-mcp-tools.md


3. Tool API Reference → xcode-mcp-ref

Triggers:

  • Specific tool parameters and schemas
  • Input/output format for a tool
  • "How does XcodeGrep work?"
  • "What params does BuildProject take?"
  • Tool category listing

Read: skills/xcode-mcp-ref.md


Decision Tree

digraph xcode_mcp_router {
    rankdir=TB;
    "User has Xcode MCP question" [shape=ellipse];
    "Setup or connection?" [shape=diamond];
    "Using tools or workflows?" [shape=diamond];
    "Need specific tool params?" [shape=diamond];

    "xcode-mcp-setup" [shape=box];
    "xcode-mcp-tools" [shape=box];
    "xcode-mcp-ref" [shape=box];

    "User has Xcode MCP question" -> "Setup or connection?";
    "Setup or connection?" -> "xcode-mcp-setup" [label="yes"];
    "Setup or connection?" -> "Using tools or workflows?" [label="no"];
    "Using tools or workflows?" -> "xcode-mcp-tools" [label="yes"];
    "Using tools or workflows?" -> "Need specific tool params?" [label="no"];
    "Need specific tool params?" -> "xcode-mcp-ref" [label="yes"];
    "Need specific tool params?" -> "xcode-mcp-tools" [label="general question"];
}

Anti-Rationalization

ThoughtReality
"I'll just use xcodebuild directly"MCP gives IDE state, filtered compiler diagnostics, and rendered previews that CLI doesn't expose
"I already know how to set up MCP"Client configs differ. Permission dialog behavior is specific. Check setup skill.
"I can figure out the tool params"Tool schemas have required fields and gotchas. Check ref skill.
"One workspace is open, so I can skip the identifier"workspaceIdentifier is required anyway, despite being absent from every required list.
"This is just file reading, I'll use Read tool"XcodeRead sees Xcode's project view including generated files and resolved packages

Conflict Resolution (vs Other Routers)

DomainOwnerWhy
MCP-specific interaction (mcpbridge, mcp-server, MCP tools, workspace identifiers)axiom-xcode-mcpMCP protocol and tool-specific
Xcode environment (Derived Data, zombie processes, simulators)axiom-buildEnvironment diagnostics, not MCP
Apple's bundled documentation (for-LLM guides/diagnostics)axiom-apple-docsBundled docs, not MCP tool
DocumentationSearch MCP tool usage specificallyaxiom-xcode-mcpMCP tool invocation
Build failures diagnosed via CLIaxiom-buildTraditional build debugging
Build failures diagnosed via MCP toolsaxiom-xcode-mcpMCP workflow patterns

Example Invocations

User: "How do I set up Xcode MCP with Claude Code?" -> Read: skills/xcode-mcp-setup.md

User: "How do I build my project using MCP tools?" -> Read: skills/xcode-mcp-tools.md

User: "What parameters does BuildProject take?" -> Read: skills/xcode-mcp-ref.md

User: "My mcpbridge connection keeps failing" -> Read: skills/xcode-mcp-setup.md

User: "How do I target a specific workspace?" / "How do I run this without Xcode open?" -> Read: skills/xcode-mcp-tools.md

User: "Can I render SwiftUI previews via MCP?" -> Read: skills/xcode-mcp-tools.md (workflow), then skills/xcode-mcp-ref.md (params)

User: "Cursor can't parse Xcode's MCP responses" -> Read: skills/xcode-mcp-setup.md (schema compliance section)

Resources

Skills: skills/xcode-mcp-setup.md, skills/xcode-mcp-tools.md, skills/xcode-mcp-ref.md, skills/axe-ref.md