前言¶
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