Skip to content

Add Xcode 27 headless MCP routing - #190

Open
lynnswap wants to merge 16 commits into
mainfrom
codex/xcode-27-headless-mcp
Open

Add Xcode 27 headless MCP routing#190
lynnswap wants to merge 16 commits into
mainfrom
codex/xcode-27-headless-mcp

Conversation

@lynnswap

Copy link
Copy Markdown
Owner

Purpose

Use Xcode 27's headless MCP service when it is available and enabled, while preserving GUI Xcode routing as the safe fallback. Keep service enablement and agent/folder approval under explicit user control.

Changes

  • add public and CLI automatic, gui, and headless Xcode routing modes
  • discover the selected Xcode's mcp-server, decode only permission.enabled, and emit the approved multiline enablement notice without running sudo
  • run stock mcpbridge unbound in headless mode, skip GUI readiness and Accessibility automation, and forward workspace/documentation ownership to Xcode Service
  • preserve Device Interaction session affinity by exact upstream topology proof across GUI and pooled headless routes
  • extend the live verifier for headless workspace lifecycle, raw 54-tool catalog capture, progress capture, pooled upstreams, and owned cleanup
  • document the mode contract, approval boundary, Xcode 27 catalog differences, and bridge-pool semantics

Review focus

  • automatic fallback and explicit headless failure semantics
  • startup cancellation and shared-service ownership boundaries
  • exact-generation Device Interaction routing and invalidation
  • verifier workspace/session cleanup authority

Testing

  • scripts/check.sh
  • swift test --filter DeviceInteraction -Xswiftc -strict-concurrency=minimal (12 tests)
  • swift build --product xcode-mcp-proxy-tool-verifier -Xswiftc -strict-concurrency=minimal
  • live Xcode 27.0 (27A5252f) status resolution, automatic headless selection, on-demand Xcode Service start, and 54-tool catalog discovery
  • codex-review against main: clean

Post-approval workspace open/list/close and progress verification remains pending because the existing manual Xcode Service approval could not be completed while the Mac was locked. The verifier reached the approval boundary and preserved the actionable upstream tool error without changing permissions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant