MCP server that bridges Claude Code and Xcode - connects to any project opened at any time, auto-confirms permission dialogs, enables true agentic iOS/macOS development
Server has 21 well-named tools with complete input schemas and clear descriptions. Naming follows verb_noun convention (workspace_list, file_read, test_run_all). All tools have descriptions (avg ~120 chars, within 10-1024 baseline). Input schemas are properly typed with JSON Schema. However, output schemas are NOT documented anywhere in the provided source, critical gap for LLM planning. Parameter descriptions are present but often minimal (e.g., 'error | warning | remark' for severity lacks context on when to use each). No error handling guidance visible. No tool annotations (readOnlyHint/destructiveHint) despite clear risk categories. File operations (file_write, file_remove, file_update) lack confirmation/dry-run patterns for destructive actions.
Builds the connected workspace using the active scheme and waits until the build completes.
Returns the log from the current or most recently completed build.
Creates a directory or group in the Xcode project structure.
Finds files in the Xcode project structure matching wildcard patterns.
Searches for text patterns in files within the Xcode project structure using regex.
Lists files and directories in the Xcode project structure at the given path.
Moves or renames a file or directory in the project navigator.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does workspace_list return? Is it an array of objects with workspace_id, name, path?). This forces agents to guess structure and wastes tokens on trial-and-error parsing.
Destructive tools (file_remove, file_write, file_update, build, test_run_all) lack confirmation/dry-run patterns. Agents can accidentally delete files or overwrite code without a safety gate. No tool annotations (destructiveHint) present.
Parameter descriptions are minimal and lack context. E.g., 'severity: error | warning | remark' does not explain when to filter by each level or what the default is. 'glob: Filter by file path glob' does not specify glob syntax (fnmatch, gitignore, or POSIX?). Agents cannot infer correct usage.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Reads the contents of a file within the Xcode project organization.
Removes a file or directory from the Xcode project structure.
Edits a file in the Xcode project by replacing an exact string.
Creates or overwrites a file in the Xcode project.
Lists issues currently visible in Xcode Issue Navigator.
Builds and renders a SwiftUI Preview and waits until a snapshot is available.
Builds and runs a snippet of code in the context of a specific source file.
Lists all available tests from the active test plan.
Runs all tests in the active scheme's active test plan and waits for completion.
Runs a specific subset of tests by identifier.
Connects the manager to a specific Xcode workspace. Use workspace_id "auto" to connect to the frontmost Xcode window automatically.
Tears down the current workspace connection. Category B–F tools will return an error until workspace_connect is called again.
Discovers all Xcode workspaces and projects currently open on this machine. Always available; no prior connection required.
Reports the current connection state without making any changes.
No error handling guidance visible in tool definitions. If workspace_connect fails (workspace not found, permission denied, Xcode not running), what should the agent do? No recovery hints provided. Agents will retry blindly or give up.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk categories in metadata. Modern MCP clients use these hints to warn users or apply safety policies. Their absence reduces agent safety and auditability.