Axiom Xcode Mcp

CharlesWiltgen/Axiom/axiom-cursor/skills/axiom-xcode-mcp

作者 CharlesWiltgen82c7feafae634a79b4336b3381289441886c122c無授權條款1.1K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫今天更新

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.

AI 產生的概覽

說明如何透過 MCP 伺服器把 AI 用戶端連接到 Xcode,涵蓋設定、工具使用與疑難排解。

功能
此技能會把與 Xcode 模型情境協定(MCP)整合相關的問題導向參考文件,分別涵蓋用戶端設定、工具使用與工作流程,以及工具 API 參數。它說明如何註冊 xcrun mcpbridge 標準輸入輸出傳輸、無頭 mcp-server 路徑、工作區指定、權限對話框,以及連線問題的排解方式。它也記錄建置修正與測試修正迴圈等工作流程模式、破壞性操作的安全注意事項,以及何時應優先使用 MCP 工具而非命令列工具。產出的是指引與參考資料,而非程式碼或檔案。
適用情境
首次設定 Xcode MCP、為特定用戶端設定 mcpbridge,或排解連線與權限問題時使用。呼叫 XcodeRead、BuildProject、RunSomeTests、RenderPreview 等 Xcode MCP 工具,或查詢其參數時使用。在 MCP 工具與 xcodebuild、devicectl、simctl 等命令列替代方案之間做選擇時使用。
執行需求
需要支援 MCP 的 AI 用戶端,以及相容版本的 Xcode;Xcode 26.x 需要 Xcode 正在執行並開啟專案,Xcode 27 支援無頭伺服器。部分操作需要 xcrun、啟用無頭伺服器所需的 sudo,以及用於模擬器 UI 自動化的 xcui 或 AXe 等外部工具。不隨附指令碼,僅為說明與參考文件。

Cursor MCP Tool Boundary

The xclog, xcsym, and xcprof examples below are reference syntax, not executable commands for Cursor. Map each subcommand to the same-named MCP tool—for example, xclog launch to axiom_xclog_launch, xcsym crash to axiom_xcsym_crash, and xcprof record to axiom_xcprof_record—and preserve its arguments as structured fields. Do not run a bare helper binary. If a required MCP tool is unavailable, stop and report that the Axiom MCP integration is missing; do not fall back to a same-named executable.

Cursor UI Tool Availability

xcui is an external tool and is not bundled with the Cursor plugin; it has no Axiom MCP wrapper. Before UI automation, check command -v xcui. If it is absent, AXe fallback is limited to compatible input verbs: tap, slider, type, swipe, drag, touch, gesture, button, key, key-sequence, key-combo, and screenshot. Then check command -v axe before that fallback and handle DEVELOPER_DIR explicitly if AXe reports a SimulatorKit loading error. AXe cannot replace wait, assert, a11y, dialog, voiceover, resize, or doctor. If neither tool is available, stop UI automation, explain the external setup requirement, and continue only with non-UI simulator and log checks. If AXe exists but the requested workflow requires an xcui-only capability, stop that UI workflow and report the limitation.

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)
  • Delegate to the an subagent 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

dot
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

來源與署名

來源:CharlesWiltgen/Axiom位於axiom-cursor/skills/axiom-xcode-mcp提交82c7fea

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架