Xcode: MCP Bridge Wrapper for Cursor MCP Server
io.github.SoundBlaster/xcode-mcpbridge-wrapper
Bridge Xcode's MCP tools to strict MCP clients like Cursor with schema repair and shared daemon support.
What is the Xcode: MCP Bridge Wrapper for Cursor MCP server?
The Xcode MCP Bridge Wrapper is a Python wrapper that connects external MCP clients (Cursor, Claude, Zed, Codex) to Xcode through Apple's xcrun mcpbridge. It repairs Xcode tool responses that declare an outputSchema but omit structuredContent, and offers broker mode to let multiple clients share one persistent Xcode connection.
This wrapper exposes Xcode's 54+ development tools—including workspace management, file operations, build/test/run/debug control, device interaction, and crash insights—to AI agents in editors like Cursor. It solves schema compatibility issues and reduces repeated Xcode access prompts by running a shared daemon that multiple clients can reuse.
How to install Xcode: MCP Bridge Wrapper for Cursor
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
Workspace & Project Tools— XcodeListWorkspaces, XcodeOpenWorkspace, XcodeCloseWorkspace, XcodeNewProject, XcodeNewTarget, XcodeListTargets, XcodeListTemplates, XcodeListSchemes, XcodeSwitchScheme, XcodeListRunDestinations, XcodeSwitchRunDestination, XcodeListTestPlans, XcodeSwitchTestPlanFile & Diagnostics Tools— XcodeRead, XcodeWrite, XcodeUpdate, XcodeLS, XcodeGlob, XcodeGrep, XcodeMakeDir, XcodeMV, XcodeRM, XcodeRefreshCodeIssuesInFileBuild, Test, Run & Debug Tools— BuildProject, GetBuildLog, GetTestList, RunAllTests, RunSomeTests, RunProject, StopProject, GetConsoleOutput, InvokeDebuggerCommand, GetFileCompilerFlags, UpdateFileCompilerFlags, GetTargetBuildSettings, UpdateTargetBuildSettingDevice Interaction Tools— DeviceInteractionStartSession, DeviceInteractionStartWorkspaceSession, DeviceInteractionInstallAndRun, DeviceInteractionSynthesize, DeviceInteractionEndSessionLocalization Tools— LocalizationPlanner, StringCatalogContext, StringCatalogRead, StringCatalogEditCrash & Field Insights Tools— GetTopCrashIssues, GetCrashIssueLogs, GetTopFieldPerformanceIssues, GetFieldPerformanceIssueLogsPreviews & Reference Tools— RenderPreview, DocumentationSearch, RunCodeSnippetProject Metadata Tools— AddEntitlement, AddInfoPlist
Use cases
- Read, write, and refactor Swift/Objective-C code files in your Xcode project with full IDE context
- Build, test, and run your iOS/macOS app directly from Cursor or Claude, with live console output and debugger control
- Manage workspaces, targets, schemes, and run destinations without leaving your editor
- Install and run apps on simulators or devices, and interact with them programmatically
- Inspect and fix build errors, compiler warnings, and code issues reported by Xcode
Xcode: MCP Bridge Wrapper for Cursor MCP server FAQ
It's a Python wrapper that bridges external MCP clients (Cursor, Claude, Zed, Codex) to Xcode's development tools via Apple's xcrun mcpbridge. It fixes schema compatibility issues and supports a shared daemon mode so multiple clients can reuse one Xcode connection.
Yes, it is open-source under the MIT License and available on PyPI.
Add the configuration to ~/.cursor/mcp.json with the command `uvx --from mcpbridge-wrapper==0.5.0 mcpbridge-wrapper --broker`. Requires uv and Xcode 26.3+.
Xcode 26.3 or newer (27.0 supported), Python 3.9–3.12, and uv for package management. macOS only.
Yes. Enable 'Allow external agents to use Xcode tools' in Xcode Settings > Intelligence > MCP, open your project, and approve the access prompt when the client connects.
Broker mode runs a shared daemon that multiple clients can connect to, reducing repeated Xcode access prompts and connection overhead. Use the --broker flag to enable it.
README (reference)
Source of truth, from the repository.
Xcode MCP Bridge Wrapper
<!-- mcp-name: io.github.SoundBlaster/xcode-mcpbridge-wrapper --> <!-- version-badge:start --> <!-- version-badge:end -->mcpbridge-wrapper connects external MCP clients to Xcode through Apple's
xcrun mcpbridge. It repairs Xcode tool responses that declare an
outputSchema but omit structuredContent. The repair works in both direct
and broker modes. Broker mode also lets several clients share one persistent
Xcode connection, reducing repeated connection prompts.
Compatibility
| Component | Support in 0.5.0 |
|---|---|
| Xcode | 26.3+ and 27.0 on macOS; Xcode 27.0 handshake and tool discovery verified |
| MCP clients | Clients using the initialize lifecycle; check the protocol used by your client version |
| MCP 2026-07-28 | Not supported by 0.5.0; the sessionless implementation remains experimental on a separate branch |
| Python | 3.9-3.12; uvx manages its own environment |
The wrapper does not bundle Xcode tools. It exposes the catalog returned by
the installed Xcode, so tool names and availability can change with Xcode
updates and permissions. The Xcode 27.0 catalog observed with build 27A266a
is listed below.
Quick Start
- Install uv and Xcode 26.3 or newer. Xcode 27.0 is supported.
- In Xcode > Settings > Intelligence > Model Context Protocol, enable Allow external agents to use Xcode tools. Open the project you want to use in Xcode. See Apple's setup guide.
- Add one of the client configurations below. Pin
0.5.0to keep the legacy MCP contract when a future major release becomes available. - Start the client and approve the Xcode access prompt if shown. After
approval, reload or reconnect the MCP server in the client so it fetches
tools/listagain, then verify with a real Xcode tool call. A green MCP indicator alone only confirms the handshake.
Broker mode is recommended for multiple clients. All examples use the same per-user daemon. The first client starts it; subsequent clients reuse it.
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper==0.5.0", "mcpbridge-wrapper", "--broker"]
}
}
}
Codex
Add to ~/.codex/config.toml and restart Codex:
[mcp_servers.xcode-tools]
command = "uvx"
args = ["--from", "mcpbridge-wrapper==0.5.0", "mcpbridge-wrapper", "--broker"]
Zed
Add inside ~/.config/zed/settings.json under the top-level
context_servers key, then disable and re-enable the server in
Settings > AI > MCP Servers:
{
"context_servers": {
"xcode-tools": {
"command": "uvx",
"args": ["--from", "mcpbridge-wrapper==0.5.0", "mcpbridge-wrapper", "--broker"],
"env": {}
}
}
}
See Zed's MCP configuration guide for the settings UI and server status indicator.
Claude Code
claude mcp add --transport stdio xcode -- uvx --from 'mcpbridge-wrapper==0.5.0' mcpbridge-wrapper --broker
For a single client that does not need the shared daemon, remove --broker
from its command to use direct mode. Manual installation and Web UI options
are covered in the installation,
broker, and Web UI guides.
Xcode 27.0 Approval and Verification
Xcode 27.0 may ask for permission for the broker host process and for the
project folder. The prompt identifies the Python executable and PID, not the
editor name. A new uvx host identity may need a fresh approval even if an
older Python installation was already permitted. Approve access only when the
path and project are expected.
If a tool reports that the agent is not approved, use XcodeOpenWorkspace
with the absolute path of an existing .xcodeproj or .xcworkspace to
request access, approve the prompt in Xcode, then retry the read-only tool.
Do not treat a successful tools/list or a green client status dot as proof
that Xcode tool calls are authorized. Check Xcode's state with:
xcrun mcp-server status
uvx --from 'mcpbridge-wrapper==0.5.0' mcpbridge-wrapper --broker-status
The second command should show Proxy version: 0.5.0 and Daemon version: 0.5.0. If an older daemon is still running, stop it once and reconnect the
clients:
uvx --from 'mcpbridge-wrapper==0.5.0' mcpbridge-wrapper --broker-stop
Stopping the singleton temporarily disconnects every client using it. The
next --broker connection starts a new daemon. For a stable long-lived host
identity, see the dedicated broker host.
Xcode 27.0 Tools
tools/list exposed 54 tools on Xcode 27.0 build 27A266a during a
local smoke test. This is an observed catalog, not a hard-coded wrapper API.
Xcode 27 adds workspace creation/opening, simulator interaction, run and
debugger control, build configuration, localization, and crash/field insight
tools. See Apple's Xcode 27 release notes.
- Workspaces and targets:
XcodeListWorkspaces,XcodeOpenWorkspace,XcodeCloseWorkspace,XcodeNewProject,XcodeNewTarget,XcodeListTargets,XcodeListTemplates,XcodeListSchemes,XcodeSwitchScheme,XcodeListRunDestinations,XcodeSwitchRunDestination,XcodeListTestPlans,XcodeSwitchTestPlan. - Files and diagnostics:
XcodeRead,XcodeWrite,XcodeUpdate,XcodeLS,XcodeGlob,XcodeGrep,XcodeMakeDir,XcodeMV,XcodeRM,XcodeRefreshCodeIssuesInFile. - Build, test, run, and debug:
BuildProject,GetBuildLog,GetTestList,RunAllTests,RunSomeTests,RunProject,StopProject,GetConsoleOutput,InvokeDebuggerCommand,GetFileCompilerFlags,UpdateFileCompilerFlags,GetTargetBuildSettings,UpdateTargetBuildSetting. - Device interaction:
DeviceInteractionStartSession,DeviceInteractionStartWorkspaceSession,DeviceInteractionInstallAndRun,DeviceInteractionSynthesize,DeviceInteractionEndSession. - Localization:
LocalizationPlanner,StringCatalogContext,StringCatalogRead,StringCatalogEdit. - Crash and field insights:
GetTopCrashIssues,GetCrashIssueLogs,GetTopFieldPerformanceIssues,GetFieldPerformanceIssueLogs. - Previews and reference:
RenderPreview,DocumentationSearch,RunCodeSnippet. - Project metadata:
AddEntitlement,AddInfoPlist.
In this catalog, the older XcodeListWindows name is absent; use
XcodeListWorkspaces to inspect workspaces after Xcode approval. Tool calls
such as builds, file edits, and device interaction can change project or
device state. Start with read-only calls when validating a new setup.
Development
For source installation and quality gates, see Contributing. The package is also available on PyPI and in the MCP Registry.
Licensed under the MIT License.
Related MCP servers

Xcode: MCP Bridge Wrapper for Cursor
Python wrapper connecting Cursor and other MCP clients to Xcode's development tools via Apple's mcpbridge.

Source Parts
Electronic component sourcing, BOM management, and PCB design workflows.

io.github.Sowiedu/edict
AI-agent programming language. JSON AST in, WASM out. Typed, effect-tracked, Z3-verified.

Smeltr Token-2022
Validate Token-2022 configs (transfer fee, soulbound, delegate). Read-only — no keys or RPC.

Machine Library
Cited search over peer-reviewed papers, books, patents, and social posts with AI agent comments.
Real-time surf, weather, trail status, volcano, ocean safety, and restaurants for Hawaii.
View repository →