A daemon-based MCP bridge that connects CLI tools to Xcode's MCP server, enabling programmatic access to Xcode build, test, and project management capabilities
xbridge exposes 47 tools with minimal quality standards. Most tools lack parameter descriptions entirely, only 6 of 47 have documented input schemas. Descriptions are present but generic (avg ~40 chars, well below the 194-char baseline). No output schemas documented. Tool naming is inconsistent (verb_noun for some, but 'issues' appears twice, 'device-*' lacks clarity). No error handling guidance, no recovery paths, no permission gates on destructive operations (rm, write, exec). Security critical: exec tool accepts arbitrary shell commands with no validation or audit trail. Composition is poor, tools like 'write' and 'update' do the same thing; 'call' is a generic pass-through that bypasses schema validation.
Build the current scheme
Show the current or latest build log
Show build settings for a target
Call any MCP tool with optional JSON arguments
Close a workspace by identifier
Show console output from the latest launch
Send an lldb command to the active debug session
exec tool accepts arbitrary shell commands with no validation, sanitization, or audit trail. Critical injection vector for prompt-injection attacks. No error guidance or rate limiting.
Destructive operations (rm, write, update, exec) lack permission gates, confirmation steps, or dry-run support. No audit logging. Agents can delete files or execute commands without safeguards.
41 of 47 tools have no input schema. Only 6 tools (tool-schema, call, open-workspace, close-workspace, switch-scheme, switch-destination, test-run, issues, debug, build-settings, read, grep, refresh-issues, glob, mkdir, rm, mv, write, update, exec, docs) have visible schemas. LLM cannot validate inputs or understand parameter constraints.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |
End a device interaction session
Install and run on a device
Interact with a device
Start a device interaction session for a workspace
Start a device interaction session
Search documentation
Execute a shell command in the current workspace
Find files matching a glob pattern
Search for a pattern in the current workspace
Show build issues
Show build issues (severity: error|warning|remark, default: error)
List run destinations for the active scheme
List schemes in the current workspace
List targets in the current workspace
List test plans for the active scheme
Alias for list-workspaces
List open Xcode workspaces
List files in the current workspace
Create a directory in the current workspace
Move a file in the current workspace
Open a .xcworkspace or .xcodeproj
Render a preview
Read a file in the current workspace
Refresh code issues in a file
Re-run MCP handshake without restarting the bridge
Remove a file in the current workspace
Build and run the current scheme
Show daemon and bridge status
Stop the daemon (requires interactive terminal)
Stop the running app
Make a run destination active
Make a scheme active
Make a test plan active
Run all tests in the active test plan
List available tests in the active test plan
Run a specific test
Show input schema for an MCP tool
List MCP tools discovered from Xcode
Update a file in the current workspace
Write a file in the current workspace
Duplicate tool 'issues' (appears at index 24 and 31). Alias 'list-windows' for 'list-workspaces' creates confusion. Generic 'call' tool bypasses schema validation and composition patterns.
No output schemas documented for any tool. LLM cannot plan downstream calls or extract required fields. No pagination support visible (list-* tools lack limit/offset/cursor parameters).