前言¶
DeepSeek Harness(DSH)的生態理念是「一切皆插件」。Xcode 27 引入了一個無頭的 MCP 工具服務,通過 /usr/bin/xcrun mcpbridge 提供標準輸入輸出(STDIO)橋接。DSH 自帶的 MCP 客戶端目前無法直接調用這些工具,通常需要手動編輯 cordis.patch.yml 配置文件來連接該橋接。
dsh-xcode-mcp 插件承擔了橋接的工作,將 xcrun mcpbridge 映射爲原生工具 mcp__xcode__*。這把原本零散的配置變成一個可安裝、可卸載、可版本管理的插件單元,省去了維護 profile 文件的麻煩。
是什麼¶
這是一個爲 DeepSeek Harness 設計的 Apple Xcode MCP 橋接插件。
- 維護者:OrrHsiao
- 定位:配置型插件(Configuration-only bundle),不包含代碼邏輯,不依賴其他 npm 包。
- 核心價值:將 Xcode 27 的無頭服務接入 DSH 的工具列表,讓模型直接調用 Xcode 命令。
核心功能¶
該插件將 Xcode 27 的 54 個工具暴露給 DSH,主要包括:
- 項目與 Scheme 檢查
- 構建(Build)與測試(Test)
- SwiftUI 預覽渲染
- 模擬器啓動與交互(點擊、輸入、滑動)
- 截圖功能
- 輔助功能層級(Accessibility hierarchy)
- OSLog 日誌查看
- Swift Package、本地化及性能分析輔助工具
安裝與啓用¶
通過 DSH 側邊欄的「Plugins」頁面安裝。在搜索框中輸入包名即可:
dsh-xcode-mcp
安裝後插件通常通過熱更新自動激活。如果 mcp__xcode__* 工具未出現在列表中,請重啓當前 Profile 以重新加載插件層。
典型用法¶
啓用插件後,模型可以通過以下命令或工具進行操作:
系統狀態檢查¶
xcrun mcp-server status # 檢查服務是否運行
xcrun mcp-server enable # 啓用服務
xcrun mcp-server start # 啓動服務
授權項目目錄¶
sudo xcrun mcp-server allow-folder /path/to/your/projects
工具調用示例¶
模型調用原生工具時,名稱格式爲 mcp__xcode__ToolName:
mcp__xcode__XcodeListWorkspaces
# 返回示例:
# * workspaceIdentifier: workspace-xxxxxxxxxx, workspacePath: /path/to/App.xcodeproj
mcp__xcode__XcodeListSchemes
# 需結合 workspaceIdentifier 使用,列出項目的 Scheme
適用場景與注意¶
使用前需滿足以下條件:
- 系統要求:macOS 系統以及 Xcode 27 或更高版本。
mcpbridge在舊版本中不存在。 - 服務運行:無頭服務必須啓用並運行。
- 項目上下文:若要使用項目範圍(Project-scoped)的工具,Xcode 中必須打開對應項目。
- 客戶端簽名:首次連接時 Xcode 會彈出授權提示。只有簽名過的客戶端(如 DSH)才能獲得永久授權,未簽名的授權大約 24 小時後過期。
- 手動更新:DSH 不會自動更新已安裝的插件。升級需要先卸載再重新安裝。
- 供應鏈保護:插件安裝依賴於 pnpm,默認設置要求發佈時間至少 24 小時(1440 分鐘)。發佈不到一天的版本會被拒絕安裝,即使運行更新命令也會顯示 “Already up to date”。這是爲了安全,不是故障。
配置說明¶
該插件本質上是一個配置補丁。在 DSH 的 cordis.patch.yml 中,可以通過覆蓋 mcp-xcode 行來調整參數。
默認配置如下(基於 @deepseek-ai/dsh-mcp-client schema):
- id: mcp-xcode
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: xcode
transport: stdio
command: /usr/bin/xcrun
args: ['mcpbridge']
toolCallTimeoutMs: 900000 # 默認 60 秒,構建任務通常需要更長時間
failOnStartupError: false # Xcode 關閉時不應阻塞 Harness 啓動
如果需要指向特定的 Xcode 實例(而非 xcode-select 指向的默認版本),可以在 config 中添加 env 字段:
env:
MCP_XCODE_PID: <PID>
結語¶
dsh-xcode-mcp 通過極簡的配置解決了 DSH 與 Xcode 27 無頭服務的集成問題。對於需要在 DSH 中進行 iOS/Mac 開發、測試或自動化構建的開發者,這是一個必要的橋接工具。