前言¶
DeepSeek Harness(DSH)原生的 MCP 配置屬於 profile 級別,一次配置作用於整個 profile。在多項目開發或需要爲不同項目掛載不同 MCP 服務器的場景下,這種全局配置方式不夠靈活。本插件將 MCP 配置下沉到項目:在項目目錄下放置配置文件,會話創建時自動讀取並掛載,會話結束時自動斷開。
這是什麼¶
dsh-workspace-mcp 是一個爲 DeepSeek Harness 設計的項目級 MCP 插件,由 lihuabd 維護。它讀取項目目錄中的 .dsh/mcp.json(或兼容的 .mcp.json),把其中聲明的 MCP 服務器掛載到當前會話。桌面 GUI、dsh web、dsh headless 均受支持。
核心功能¶
- 項目級配置:在項目根目錄放置
.dsh/mcp.json或.mcp.json,按會話工作目錄自動加載對應服務器的 MCP 工具。 - 獨立實例:每臺服務器作爲獨立的
dsh-mcp-client實例掛到會話,工具隨會話銷燬自動移除。 - 併發啓動:同一會話的服務器併發啓動,單臺失敗不影響其他服務器。
- 靈活搜索:支持向上查找父目錄(默認最多 3 層),便於在子目錄中引用父項目的配置。
- 子 agent 控制:通過
includeSubagents控制是否爲子 agent 掛載項目 MCP 工具(默認關閉)。 - 配置覆蓋:在 profile 的
cordis.patch.yml中按 id 覆蓋插件配置,包括啓用開關、搜索策略、超時與環境變量策略。
安裝與啓用¶
本包是一個 DSH bundle,安裝後自動插入插件行。安裝命令如下:
# 從 npm
dsh plugin --profile <profile> add dsh-workspace-mcp
# 直接從 GitHub
dsh plugin --profile <profile> add github:lihuabd/dsh-workspace-mcp
也可以通過桌面 GUI 安裝:插件頁 → 添加插件 → 輸入 dsh-workspace-mcp → 選擇安裝源 → 安裝。安裝後用以下命令確認條目已進入配置樹:
dsh --profile <profile> --dump-config | grep -A 4 workspace-mcp
典型用法¶
- 在項目根目錄創建
.dsh/mcp.json(或.mcp.json),內容示例:
{
"mcpServers": {
"cc-tools": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer ${MCP_TOKEN}" }
},
"local": {
"command": "node",
"args": ["./tools/mcp-server.js"],
"env": { "TOKEN": "${LOCAL_TOKEN}" }
}
}
}
- 在 profile 的
cordis.patch.yml中按 id 覆蓋插件配置:
- id: workspace-mcp
name: dsh-workspace-mcp
config:
enabled: true
files: ['.dsh/mcp.json', '.mcp.json']
searchParents: false
maxParentDepth: 3
includeSubagents: false
failOnStartupError: false
startupTimeoutMs: 20000
toolCallTimeoutMs: 60000
env: {}
envAllowlist: []
- 打開會話後,工具名形如
mcp__<serverName>__<tool>。項目級 server 與 profile/$DSH_HOME裏配置的同名 server 可以共存,會話內以項目配置爲準。
適用場景與注意¶
- 適合需要爲不同項目掛載不同 MCP 服務器的場景,避免全局配置衝突。
- 插件以當前 DSH 進程權限運行,項目文件可以拉起任意 stdio 進程,等同於把代碼執行權交給倉庫作者。只在自己信任的倉庫裏使用。
- 默認不從進程環境展開變量:
${VAR}只解析插件配置的env與envAllowlist命中的名字。需要${GITHUB_TOKEN}這類寫法時,顯式配置envAllowlist: ['GITHUB_TOKEN'](或['MCP_*'])。 - 文件必須是常規文件且不超過 1 MB,不支持 SSE 傳輸。
短結尾¶
dsh-workspace-mcp 將 MCP 配置下沉到項目,讓不同會話能按需加載對應 MCP 工具。完整文檔見:https://github.com/lihuabd/dsh-workspace-mcp