Xcode MCP桥接工具

一个用于连接Docker DevContainer与macOS主机Xcode MCP服务器的TCP到stdio桥接工具,适用于开发环境中的Xcode集成。

  • by DIO0550
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 DIO0550/mcp-stdio-proxy-

使用说明

mcp stdio代理

从Docker(DevContainer)到macOS主机的Xcode MCP服务器(xcrun mcpbridge)的TCP↔stdio桥。

仅Python标准库工作。无附加依赖关系。

体系结构

[DevContainer]                 [Host macOS]
 Claude Code                    xcode_mcp_bridge.py
  └─ nc host.docker.internal ──► 127.0.0.1:8080
     8080 (stdio)                  └─ spawn xcrun mcpbridge (per connection)
                                       └─ XPC ──► Xcode

前提条件

  • macOS+Xcode 26.3以降
  • 项目設定 → 智能→ 模型上下文协议→ 打开Xcode Tools
  • 启动Xcode并打开目标项目
  • xcrun mcpbridge --help 转动

安装,安装

1.桥接启动(手动)

python3 xcode_mcp_bridge.py

2.疏通确认

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \
  | nc 127.0.0.1 8080

初次连接时会显示Xcode的Allow对话框,所以允许。

3.LaunchAgent驻留(可选)

launchagent/com.user.xcode-mcp-bridge.plist 中的 USERNAME 用自己的用户名替换并复制:

sed "s/USERNAME/$(whoami)/g" launchagent/com.user.xcode-mcp-bridge.plist \
  > ~/Library/LaunchAgents/com.user.xcode-mcp-bridge.plist
launchctl load ~/Library/LaunchAgents/com.user.xcode-mcp-bridge.plist

4.DevContainer侧的设置

在容器中 netcat-openbsd 如果不需要 apt-get install -y netcat-openbsd)。

.mcp.json 添加到:

{
  "mcpServers": {
    "xcode": {
      "command": "nc",
      "args": ["host.docker.internal", "8080"]
    }
  }
}

故障排除

症状 原因候補
nc: getaddrinfo: Name or service not known host.docker.internal 未解决。--add-host=host.docker.internal:host-gateway 安装,安装
可以连接,但工具列表为空
死机,冻结,冻结,冻结
|每次重新连接时都会出现Allow|规格(新连接=新进程)|

许可证

麻省理工学院