Agent skill
axiom-xcode-mcp
Use when connecting to Xcode via MCP, using xcrun mcpbridge, or working with ANY Xcode MCP tool (XcodeRead, BuildProject, RunTests, RenderPreview). Covers setup, tool reference, workflow patterns, troubleshooting.
Install this agent skill to your Project
npx add-skill https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/axiom-xcode-mcp
SKILL.md
Xcode MCP Router
You MUST use this skill for ANY Xcode MCP interaction — setup, tool usage, workflow patterns, or troubleshooting.
Xcode 26.3 ships an MCP server (xcrun mcpbridge) that exposes 20 IDE tools to external AI clients. This router directs you to the right specialized skill.
When to Use
Use this router when:
- Setting up Xcode MCP for the first time
- Configuring
xcrun mcpbridgefor any MCP client - Using any Xcode MCP tool (file ops, build, test, preview)
- Building, testing, or previewing via MCP tools
- Troubleshooting mcpbridge connection issues
- Window/tab targeting questions
- Permission dialog confusion
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 windows")
- Permission dialog confusion
- Multi-Xcode targeting (
MCP_XCODE_PID) - Schema compliance issues with strict clients
Invoke: /skill axiom-xcode-mcp-setup
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
- Window/tab targeting strategy
- When to use MCP tools vs CLI (
xcodebuild) - Destructive operation safety (
XcodeRM,XcodeMV)
Invoke: /skill axiom-xcode-mcp-tools
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
Invoke: /skill axiom-xcode-mcp-ref
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
| Thought | Reality |
|---|---|
| "I'll just use xcodebuild directly" | MCP gives IDE state, diagnostics, previews, and navigator issues 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. |
| "Tab identifiers are obvious" | Most tools fail silently without correct tabIdentifier. Tools skill explains targeting. |
| "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)
| Domain | Owner | Why |
|---|---|---|
| MCP-specific interaction (mcpbridge, MCP tools, tab identifiers) | xcode-mcp | MCP protocol and tool-specific |
| Xcode environment (Derived Data, zombie processes, simulators) | ios-build | Environment diagnostics, not MCP |
| Apple's bundled documentation (for-LLM guides/diagnostics) | apple-docs | Bundled docs, not MCP tool |
DocumentationSearch MCP tool usage specifically |
xcode-mcp | MCP tool invocation |
| Build failures diagnosed via CLI | ios-build | Traditional build debugging |
| Build failures diagnosed via MCP tools | xcode-mcp | MCP workflow patterns |
Example Invocations
User: "How do I set up Xcode MCP with Claude Code?"
-> Invoke: /skill axiom-xcode-mcp-setup
User: "How do I build my project using MCP tools?"
-> Invoke: /skill axiom-xcode-mcp-tools
User: "What parameters does BuildProject take?"
-> Invoke: /skill axiom-xcode-mcp-ref
User: "My mcpbridge connection keeps failing"
-> Invoke: /skill axiom-xcode-mcp-setup
User: "How do I target a specific Xcode window?"
-> Invoke: /skill axiom-xcode-mcp-tools
User: "Can I render SwiftUI previews via MCP?"
-> Invoke: /skill axiom-xcode-mcp-tools (workflow), then /skill axiom-xcode-mcp-ref (params)
User: "Cursor can't parse Xcode's MCP responses"
-> Invoke: /skill axiom-xcode-mcp-setup (schema compliance section)
Resources
Skills: xcode-mcp-setup, xcode-mcp-tools, xcode-mcp-ref
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
axiom-mapkit-diag
MapKit troubleshooting — annotations not appearing, region jumping, clustering not working, search failures, overlay rendering issues, user location problems
axiom-core-location
Use for Core Location implementation patterns - authorization strategy, monitoring strategy, accuracy selection, background location
axiom-energy
Use when app drains battery, device gets hot, users report energy issues, or auditing power consumption - systematic Power Profiler diagnosis, subsystem identification (CPU/GPU/Network/Location/Display), anti-pattern fixes for iOS/iPadOS
axiom-audit-storage
Use when the user mentions file storage issues, data loss, backup bloat, or asks to audit storage usage.
axiom-app-store-connect-ref
Use when navigating App Store Connect to find crash data, read TestFlight feedback, interpret metrics dashboards, or export diagnostic logs. Covers crash-free rates, dSYM symbolication, termination types, MetricKit.
axiom-testflight-triage
Use when ANY beta tester reports a crash, ANY crash appears in Organizer or App Store Connect, crash logs need symbolication, app was killed without crash report, or you need to triage TestFlight feedback
Didn't find tool you were looking for?