把 MCP 服务器工具接入智能体直接调用
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZeroStub/dsh-mcp-bridge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · dev
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 11 条)
- 读取本地文件index.js:61
const raw = await readFile(expandPath(configPath), 'utf8'); - 执行外部命令来自配置/变量lib/mcp-client.js:20
this.child = spawn(command, args, { - 发起网络请求lib/mcp-client.js:116
const response = await fetch(this.url, { - 发起网络请求lib/mcp-client.js:180
const response = await fetch(this.url, { - 发起网络请求lib/mcp-client.js:257
fetch(this.postUrl, { - 发起网络请求lib/mcp-client.js:271
await fetch(this.postUrl, { - 发起网络请求lib/mcp-client.js:335
await transport.request( - 发起网络请求lib/mcp-client.js:345
const page = await transport.request('tools/list', cursor ? { cursor } : {}, timeoutMs); - 读取本地文件check-requires.js:16
for (const entry of await readdir(dir, { withFileTypes: true })) { - 读取本地文件check-requires.js:30
const text = await readFile(file, 'utf8'); - 读取本地文件check-requires.js:40
const info = await stat(candidate);
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的 MCP 桥接:把 MCP 服务器暴露为原生 harness 工具(stdio、streamable-http、旧版 SSE)
README
由 DeepSeek 最新模型翻译生成dsh-mcp-bridge
MCP 工具接入 DeepSeek Harness——不用改 harness 本身。
Русский · English
为什么需要
DeepSeek Harness 没有 MCP——发行包里的任何一个包都没有客户端、没有服务端、也没有传输层。智能体能做什么,全都在 Cordis 组合里声明:工具集由预设决定,想接别人的服务器,官方没给路子。
Codex 遇到这种情况就省事多了:它自己就是 MCP 客户端,OpenClaw 则给它起一个 loopback MCP 服务器。这里只能自己写客户端。
dsh-mcp-bridge 是个 cordis 插件:从 OpenClaw 配置里读 mcp.servers,连上每个启用的服务器,再通过 ctx.tools.register 注册它的工具。模型看到的就是 harness 的普通工具。
效果
命名跟 OpenClaw 一致:mcp__<服务器>__<工具>。
展开完整文档(README 剩余 1 节)
dsh-mcp-bridge
MCP 工具接入 DeepSeek Harness——不用改 harness 本身。
Русский · English
为什么需要
DeepSeek Harness 没有 MCP——发行包里的任何一个包都没有客户端、没有服务端、也没有传输层。智能体能做什么,全都在 Cordis 组合里声明:工具集由预设决定,想接别人的服务器,官方没给路子。
Codex 遇到这种情况就省事多了:它自己就是 MCP 客户端,OpenClaw 则给它起一个 loopback MCP 服务器。这里只能自己写客户端。
dsh-mcp-bridge 是个 cordis 插件:从 OpenClaw 配置里读 mcp.servers,连上每个启用的服务器,再通过 ctx.tools.register 注册它的工具。模型看到的就是 harness 的普通工具。
效果
命名跟 OpenClaw 一致:mcp__<服务器>__<工具>。
mcp__vault__list mcp__search__query_text mcp__shell__list_hosts
mcp__vault__read mcp__search__similar mcp__shell__read_file
同一套安装里实测三个服务器:16 个工具走 streamable HTTP,7 个走 stdio,18 个走 legacy SSE——一共 41 个。
安装
包必须放在 harness 配置档的 node_modules 里——否则 @deepseek-ai/ 这些 peer 依赖解析不到。软链接不行:Node 按包的真实路径解析依赖。
cp -r . ~/.openclaw/extensions/dsh/node_modules/dsh-mcp-bridge
把下面这行加进承载智能体工具的组合(config/agent-presets/<预设>/agent.cordis.yml):
- id: mcp-bridge
name: dsh-mcp-bridge
config:
configPath: ~/.openclaw/openclaw.json
toolPrefix: mcp__
注意:工具活在 agent-plane,不在 host-plane。 这行写进 config/cordis.patch.yml 能正常加载,但智能体一个工具都拿不到——host 补丁里没有任何 tool- 插件。
预设每个进程只挂载一次,所以这行要等下次启动 host 才生效,新开会话不算。
配置
| 字段 | 默认值 | 含义 |
| configPath | ~/.openclaw/openclaw.json | 从哪读 mcp.servers |
| servers | [] | 白名单;留空表示全部启用 |
| excludeServers | [] | 黑名单 |
| toolPrefix | mcp__ | 名称前缀 |
| timeoutMs | 60000 | 连接和 tools/list 的超时 |
| callTimeoutMs | 120000 | 单次调用的超时 |
筛选规则:服务器满足 enabled !== false、有 command 或 url、且没被排除,才会被选中。工具按服务器自己的 toolFilter.include / toolFilter.exclude 过滤。headers 和 env 里的 ${VAR} 引用从进程环境变量展开。
传输层
| 传输方式 | 工作方式 |
| stdio | 子进程,逐行 JSON-RPC |
| streamable-http | POST JSON-RPC;响应为 JSON 或 text/event-stream;会记住 mcp-session-id |
| sse(旧版) | GET 流声明 POST 端点;响应在同一流中返回 |
不启动 harness 也能验证
cd ~/.openclaw/extensions/dsh
node node_modules/dsh-mcp-bridge/test/probe.mjs # инструменты каждого сервера
node node_modules/dsh-mcp-bridge/test/register.mjs # прогон apply() на фейковом контексте
probe 会打印传输方式和工具。register 走完整条链路——读配置 → 连接 → defineTool → 注册——在启动宿主之前就能发现 schema 违规。两者都依赖 @deepseek-ai/* 包,所以必须在配置档内运行。
离线测试(不启动 harness):npm test。
踩坑
- harness 的 schema 比 JSON Schema 更严格。 defineTool 会拒绝 required: false(「must be true when present」),并且要求任何对象的 additionalProperties 必须显式为布尔值。转换器已经处理了这一点。
- 包的符号链接会破坏 peer 解析——需要在配置档的 node_modules 里放一份副本。
- 请求头里的 token 可能过期。 如果服务器返回 401,检查一下取值:Bearer ${TOKEN} 这种引用比字面量更可靠。
- 动态模式无法加载包。 cordis_define 只接受 JS 函数体:不能用 import、require、fetch、process,也不能联网(web.fetch 仅支持 GET)。传输层只能挪到 shell 辅助脚本里。
限制
- 不支持 OAuth 服务器:需要在请求头里放密钥,或者用本地进程。
- 每个进程只有一个实例;工具对 harness 全局可见,具体组成由智能体预设限定。
- 没有按智能体划分的作用域:mcp.servers 是共享的,而 tools.allow / tools.deny harness 并不执行——只能靠桥的 servers / excludeServers 和服务端的 toolFilter 来区分。
- 启动失败的服务器会被跳过并给出警告;宿主不会因此崩溃。
许可证
MIT——见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ZeroStub/dsh-mcp-bridge
把 MCP 服务器工具接入智能体直接调用
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9