前言¶
在 DSH 的插件化思路里,外部工具可以按插件方式接入,而不需要每个工具单独维护一套调用代码。对于需要调用文件系统、GitHub、搜索、数据库等 MCP 服务的场景,dsh-mcp-bridge 提供了一个桥接插件:它连接 stdio 或 HTTP/SSE MCP 服务器,并把服务器声明的工具自动注册为 DSH agent 可调用工具。
这是什么¶
Chhlafiu4312/dsh-mcp-bridge 是面向 DeepSeek Harness(DSH)的 MCP 客户端桥接插件,许可证为 MIT。它零依赖、不使用 SDK,本地 MCP 服务器通过 stdio 上的原始 JSON-RPC 2.0 通信;远程 HTTP/SSE MCP 服务器通过 url 配置,并经 mcp-remote 桥接。
核心能力¶
- 支持本地 stdio MCP 服务器,通过
command和args启动。 - 支持远程 HTTP/SSE MCP 服务器,通过
url配置,并经mcp-remote桥接。 - 连接成功后,自动把服务器工具注册为
mcp_<server>_<tool>形式。 - 对声明 resources 和 prompts 能力的服务器,可自动注册相应资源与提示词工具。
- 服务器异常退出时,最多重试 3 次,回退间隔为 2s / 5s / 10s。
- 插件停止或更新时,会终止由它启动的子进程。
- 支持按服务器配置
allowTools、denyTools和timeoutMs。
安装与启用¶
推荐使用 dsh plugin 安装:
dsh plugin --profile web add "github:Chhlafiu4312/dsh-mcp-bridge#main"
安装后重启 dsh web,再通过 DSH_MCP_SERVERS 配置服务器。对于 dsh plugin / preset 安装方式,配置在插件启动时读取,修改配置后需要重启 DSH。
配置示例¶
DSH_MCP_SERVERS 中的服务器条目可以是本地 stdio 形式:
{
"id": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~/projects"]
}
这里的 id 会成为工具名前缀,例如文件目录工具会注册成 mcp_filesystem_list_directory。
远程服务器可以配置 url:
{
"id": "my-server",
"url": "https://x.example/mcp"
}
如果只想开放部分工具,可以使用 allowTools / denyTools 过滤;如果某项配置暂时不想启用,可以设置 disabled: true。该条配置会保留在列表中,但不会连接或校验。
典型用法¶
以文件系统 MCP 服务器为例,配置 DSH_MCP_SERVERS 后,agent 可以看到类似这样的工具:
mcp_filesystem_list_directory
如果连接了 GitHub MCP 服务器,也可能出现类似工具:
mcp_github_create_issue
可以使用 mcp_status 查看当前连接状态。
如果要把它作为长期 agent preset,可以创建 preset 目录并放入插件文件:
mkdir -p ~/.dsh/.agent-presets/mcp-agent
cp plugin.js ~/.dsh/.agent-presets/mcp-agent/
cp agent.cordis.yml.example ~/.dsh/.agent-presets/mcp-agent/agent.cordis.yml
cp preset.yml.example ~/.dsh/.agent-presets/mcp-agent/preset.yml
然后在 mcp-agent preset 中启动会话。
适用场景与注意¶
适合需要让 DSH agent 调用外部 MCP 工具,并且希望以插件方式管理这些工具的场景。需要注意:
- MCP 服务器会以你的权限运行,只连接你信任的服务器。
- 文件系统服务器应限定目录,只给 agent 可能需要访问的路径。
- API token 通常通过
env字段传入;生产环境建议优先使用 secret manager 或环境变量。 - 对于不支持的 JSON-Schema 关键字,插件会降级为开放输入,MCP 服务器仍是工具行为与数据的权威来源。
package.json中声明了peerDependencies:
"@deepseek-ai/dsh": "*"
安装前建议检查源码、许可证,并确认目标 DSH 环境匹配。
结尾¶
dsh-mcp-bridge 的价值在于把 MCP 服务器接入 DSH 的流程简化为:安装插件、配置服务器、自动获得工具。它保持零依赖、不使用 SDK,并保留了较明确的生命周期边界。
GitHub 仓库:https://github.com/Chhlafiu4312/dsh-mcp-bridge