PluginBench
MCP Server
Maintained
MIT

Xcode: MCP Bridge Wrapper for Cursor MCP Server

io.github.SoundBlaster/mcpbridge-wrapper

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

What is the Xcode: MCP Bridge Wrapper for Cursor MCP server?

The Xcode MCP Bridge Wrapper is a Python tool that makes Xcode's MCP bridge compatible with strict MCP clients like Cursor, Codex, and Zed. It repairs Xcode tool responses and supports both direct and broker modes, allowing multiple clients to share a single persistent Xcode connection.

This wrapper bridges external MCP clients to Xcode, exposing 54+ Xcode development tools including file operations, build/test/run controls, debugger commands, device interaction, and workspace management. Use it to give AI agents in Cursor or other editors direct access to your Xcode project's capabilities without repeated connection prompts.

How to install Xcode: MCP Bridge Wrapper for Cursor

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcpbridge-wrapper": {
      "command": "uvx",
      "args": [
        "mcpbridge-wrapper",
        "--from",
        "mcpbridge-wrapper"
      ]
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • XcodeRead — Read files from the Xcode project
  • XcodeWrite — Write files to the Xcode project
  • XcodeUpdate — Update files in the Xcode project
  • XcodeLS — List directory contents in the Xcode project
  • XcodeGlob — Glob pattern matching in the Xcode project
  • XcodeGrep — Search for patterns in files
  • XcodeMakeDir — Create directories in the Xcode project
  • XcodeMV — Move or rename files in the Xcode project
  • XcodeRM — Remove files from the Xcode project
  • BuildProject — Build the Xcode project
  • GetBuildLog — Retrieve build logs
  • RunAllTests — Run all tests in the project
  • RunSomeTests — Run specific tests
  • RunProject — Run the Xcode project
  • StopProject — Stop the running project
  • GetConsoleOutput — Get console output from the running project
  • InvokeDebuggerCommand — Execute debugger commands
  • XcodeListWorkspaces — List available Xcode workspaces
  • XcodeOpenWorkspace — Open an Xcode workspace
  • XcodeCloseWorkspace — Close an Xcode workspace

Use cases

  • Give Claude or Cursor direct access to build, test, and run your Xcode projects without leaving the editor
  • Automate file reading and writing operations within your Xcode workspace
  • Execute debugger commands and inspect console output programmatically
  • Run tests and retrieve build logs as part of an AI-assisted development workflow
  • Manage multiple MCP clients sharing a single persistent Xcode connection via broker mode

Xcode: MCP Bridge Wrapper for Cursor MCP server FAQ

What is the Xcode MCP Bridge Wrapper?

It's a Python wrapper that connects MCP clients like Cursor to Xcode's development tools, exposing 54+ capabilities for building, testing, debugging, and file management. It fixes compatibility issues and supports shared connections via broker mode.

Is it free?

Yes, it is licensed under the MIT License and available on PyPI.

How do I install it in Cursor?

Add the configuration to ~/.cursor/mcp.json with the command: uvx --from mcpbridge-wrapper==0.5.0 mcpbridge-wrapper --broker, then restart Cursor.

What are the system requirements?

You need Xcode 26.3 or newer (Xcode 27.0 supported), Python 3.9–3.12, and the uv package manager installed.

Do I need to authenticate or approve access?

Yes, you must enable 'Allow external agents to use Xcode tools' in Xcode Settings > Intelligence > Model Context Protocol, and approve the access prompt when prompted.

What is broker mode?

Broker mode runs a shared daemon that multiple clients can connect to, reducing repeated Xcode connection prompts and allowing efficient resource sharing.

README (reference)

Source of truth, from the repository.

Xcode MCP Bridge Wrapper

<!-- mcp-name: io.github.SoundBlaster/xcode-mcpbridge-wrapper --> <!-- version-badge:start -->

Version

<!-- version-badge:end -->

Python 3.9+ License: MIT

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

ComponentSupport in 0.5.0
Xcode26.3+ and 27.0 on macOS; Xcode 27.0 handshake and tool discovery verified
MCP clientsClients using the initialize lifecycle; check the protocol used by your client version
MCP 2026-07-28Not supported by 0.5.0; the sessionless implementation remains experimental on a separate branch
Python3.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

  1. Install uv and Xcode 26.3 or newer. Xcode 27.0 is supported.
  2. 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.
  3. Add one of the client configurations below. Pin 0.5.0 to keep the legacy MCP contract when a future major release becomes available.
  4. 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/list again, 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

Bridge Xcode's MCP tools to strict MCP clients like Cursor with schema repair and shared daemon support.

18
Python
MIT
View repository →
SOSource Parts logo

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

1
Python
Apache-2.0
View repository →

AI-agent programming language. JSON AST in, WASM out. Typed, effect-tracked, Z3-verified.

6
JavaScript
MIT
View repository →
SMSmeltr Token-2022 logo

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

1
TypeScript
View repository →
MAMachine Library logo

Machine Library

Maintained

Cited search over peer-reviewed papers, books, patents, and social posts with AI agent comments.

10
Python
MIT
View repository →

Real-time surf, weather, trail status, volcano, ocean safety, and restaurants for Hawaii.

View repository →