🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

MCP 工具桥 Chhlafiu4312/dsh-mcp-bridge

DeepSeek Harness
Chhlafiu431279 天前有提交已提供中文文档扫描:未发现敏感能力

把任意 MCP 服务器的工具接入智能体直接调用

32/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/8/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Chhlafiu4312/dsh-mcp-bridge
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-mcp-connect(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖要求 * · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/19 22:22:25

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 9 处,展示前 6 条)
  • 发起网络请求
    plugin.js:229
    const init = await client.request('initialize', {
  • 发起网络请求
    plugin.js:235
    const listed = await client.request('tools/list', {}, 30000)
  • 发起网络请求
    plugin.js:244
    const listedResources = await client.request('resources/list', {}, 30000)
  • 发起网络请求
    plugin.js:250
    const listedPrompts = await client.request('prompts/list', {}, 30000)
  • 发起网络请求
    plugin.js:282
    const res = await client.request('tools/call', {
  • 发起网络请求
    plugin.js:316
    const res = await client.request('resources/list', params, toolTimeoutMs(server), exec.signal)
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动注册工具给智能体
  • 零依赖MCP客户端桥接

零依赖 MCP 客户端桥接,对接 DeepSeek Harness:连接 stdio/HTTP MCP 服务,自动把它们的工具注册给智能体。

README

由 DeepSeek 最新模型翻译生成
dsh-mcp-bridge ci License: MIT 用一个文件将整个 MCP 生态系统连接到 DeepSeek Harness。零依赖。无需 SDK。 你的 DSH 智能体可以从任何 MCP 服务器获取所有工具——文件系统、GitHub、数据库、搜索、记忆,以及数千个社区服务器——作为它可以直接调用的原生工具: You: Create a GitHub PR for the changes in ./app Agent: [calls mcp_github_create_pull_request] ✓ PR #42 created architecture ✨ 为什么人们使用它 | 🔌 一行代码接入 1000+ 工具 | MCP 生态系统是智能体最大的工具目录。这个桥接器将其全部接入 DSH。 | | 🪶 零依赖 | 基于 stdio 的原始 JSON-RPC 2.0,约 400 行纯 JavaScript。无 SDK,无原生模块。 | | 🌐 stdio + HTTP/SSE | 通过 command 连接本地服务器,通过 url 连接远程服务器(经由 mcp-remote 桥接)。 | | 🔁 自动注册 | 服务器一连接,每个工具就变成 mcp__。 | | 🧹 干净的生命周期 | 插件停止或更新时,子进程会被终止。
展开完整文档(README 剩余 1 节)
dsh-mcp-bridge

ci
License: MIT

用一个文件将整个 MCP 生态系统连接到 DeepSeek Harness。零依赖。无需 SDK。

你的 DSH 智能体可以从任何 MCP 服务器获取所有工具——文件系统、GitHub、数据库、搜索、记忆,以及数千个社区服务器——作为它可以直接调用的原生工具:

You: Create a GitHub PR for the changes in ./app
Agent: [calls mcp_github_create_pull_request] ✓ PR #42 created

architecture

✨ 为什么人们使用它

| 🔌 一行代码接入 1000+ 工具 | MCP 生态系统是智能体最大的工具目录。这个桥接器将其全部接入 DSH。 |
| 🪶 零依赖 | 基于 stdio 的原始 JSON-RPC 2.0,约 400 行纯 JavaScript。无 SDK,无原生模块。 |
| 🌐 stdio + HTTP/SSE | 通过 command 连接本地服务器,通过 url 连接远程服务器(经由 mcp-remote 桥接)。 |
| 🔁 自动注册 | 服务器一连接,每个工具就变成 mcp__。 |
| 🧹 干净的生命周期 | 插件停止或更新时,子进程会被终止。 |
| 🛡️ 诚实的边界 | 不支持的 JSON-Schema 关键字会降级为开放输入——MCP 服务器始终是权威。 |

🚀 快速开始

A. dsh plugin add(推荐——该仓库是一个 dsh.bundle)

dsh plugin --profile web add "github:Chhlafiu4312/dsh-mcp-bridge#main"

然后重启 dsh web,并通过 DSH_MCP_SERVERS 配置服务器(见下文)。

B. 动态插件(单次会话,无需文件)

打开一个 DSH 会话,让你的智能体通过 cordis_define 运行桥接器(粘贴 plugin.js 中的代码),或者自己定义它——然后与它对话:

// code.host body — minimal form
return {
inject: ['subprocess', 'tools', 'timer'],
apply(ctx) {
// ... paste the body of plugin.js here ...
},
}

C. 永久方式(智能体预设)

1. create your preset directory
mkdir -p ~/.dsh/.agent-presets/mcp-agent

2. copy the repo files in
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

3. (optional) configure your servers
export DSH_MCP_SERVERS='[
{"id":"filesystem","command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","~/projects"]},
{"id":"github","command":"npx","args":["-y","@modelcontextprotocol/server-github"],"env":{"GITHUB_PERSONAL_ACCESS_TOKEN":"your_github_token"}}
]'

4. start a session on the mcp-agent preset — done

智能体会立即看到诸如 mcp_filesystem_list_directory、mcp_github_create_issue 等工具……外加 mcp_status 用于检查每个连接。

🔧 配置服务器是一个 JSON 数组。每个条目要么是 stdio,要么是 url:

{
"id": "my-server", // 工具前缀:mcp__ "command": "npx", // 可执行文件(仅 stdio)
"args": ["-y", "server-pkg"], // 可执行文件之后的 argv
"cwd": "/abs/path", // 可选的工作目录
"env": { "KEY": "value" }, // 可选的环境变量
"url": "https://x.example/mcp", // 或者:通过 mcp-remote 使用远程 HTTP/SSE "disabled": false, // 保持配置但不激活
"allowTools": ["search_"], // 可选:仅注册这些工具
"denyTools": ["delete_"], // 可选:隐藏这些工具
"timeoutMs": 120000 // 可选的每服务器调用超时 }

| 字段 | 类型 | 含义 |
| id | string,必填 | 工具前缀 —— 工具会变成 mcp__ |
| command + args | string + string[] | stdio 服务器可执行文件及其 argv |
| url | string | 远程服务器(HTTP/SSE,通过 mcp-remote 桥接) |
| cwd | string | 工作目录(默认:进程的 cwd) |
| env | object | 额外的环境变量 |
| disabled | boolean | 在 mcp_status 中列出,但从不连接或验证 |
| allowTools / denyTools | string[] | 精确名称过滤器,可组合使用 —— 隐藏破坏性工具 |
| timeoutMs | number | 每服务器调用超时,单位为毫秒(默认 120000) |

通过 DSH_MCP_SERVERS(JSON)设置该数组,或编辑 plugin.js 中 resolveServers() 里的默认值。现成的示例:examples/servers.json —— filesystem、GitHub、fetch、memory、Postgres、remote。

🧠 工作原理

详细说明见 docs/ARCHITECTURE.md:

DSH tools registry MCP server (child process)
───────────────── ───────────────────────────
mcp__ ── tools/call ──▶ npx (stdio)
◀── text/JSON ──── └─ or mcp-remote (HTTP)

1. 启动(Spawn) —— 每个已配置的服务器作为受管理的子进程启动。
2. 握手(Handshake) —— 通过换行分隔的 JSON-RPC 2.0 进行 initialize + notifications/initialized。
3. 发现(Discover) —— tools/list 返回每个工具及其 JSON Schema。
4. 注册(Register) —— 每个工具都注册到 DSH 工具注册表中;schema 被清理为 DSH 参数 DSL。
5. 调用(Call) —— 模型调用该工具;桥接层转发 tools/call 并将文本内容渲染回来(120 秒协作式超时,并发安全)。
6. 拆除(Teardown) —— 停止插件会注销这些工具并终止每个进程。

🛣️ 路线图

- [ ] 带退避的自动重连
- [ ] 原生 streamable-HTTP 客户端(为 url 服务器去掉 mcp-remote 依赖)
- [ ] 针对破坏性工具的每服务器权限提示

🔒 安全说明

- MCP 服务器以你的权限运行 —— 只连接你信任的服务器。
- 文件系统服务器是有作用域的:只给它 agent 可以访问的目录。
- API 令牌通过 env 字段传递;在生产环境中优先使用密钥管理器或环境变量。
- 完整信任模型与加固建议:SECURITY.md。

❓ 常见问题

我可以使用自己的 MCP 服务器吗? 可以——任何通过 stdio 或可流式 HTTP 讲 MCP 的东西都可以。把 command/args 指向它(远程服务器则用 url),它的工具就会以 mcp__ 的形式出现。

服务器崩溃时会发生什么? 桥接器最多重试 3 次,退避间隔为 2s/5s/10s,并在新连接上重新注册工具。用 mcp_status 查看当前状态。

更改配置后需要重启 DSH 吗? 对于 dsh plugin/预设安装,需要——配置在插件启动时读取。disabled: true 会让某个条目保持已配置但不连接。

为什么不用官方 MCP SDK? SDK 会把一棵依赖树拖进一个只需要换行分隔 JSON-RPC 的插件里。零依赖让安装瞬间完成且易于审查(约 400 行)。

它支持资源和提示词吗? 支持——声明了这些能力的服务器会自动获得 mcp__list_resources、mcp__read_resource、mcp__list_prompts 和 mcp__get_prompt 工具。

从 0.7.0 之前的安装升级? npm 包已重命名为 dsh-mcp-connect——请一次性移除旧依赖,以免两层同时激活:dsh plugin --profile web remove dsh-mcp-bridge。

基于 npx 的服务器失败并报 EPERM / “root 拥有的文件”? 你的 npm 缓存被旧的 sudo npm 运行污染了。要么一次性修复它:

sudo chown -R "$(id -u):$(id -g)" ~/.npm

要么按服务器绕过它,给 npx 一个可写的缓存:

{ "id": "filesystem", "command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"],
"env": { "npm_config_cache": "/path/to/writable/npm-cache" } }

🤝 贡献

欢迎提交 issue 和 PR。node scripts/demo.mjs 会针对本地 fixture 打印一份一次性演示记录——这是制作 README GIF 的原始素材。包含测试 fixture:test/mcp-http-test-server.cjs 是一个最小的可流式 HTTP MCP 服务器,你可以在本地运行它来端到端验证 HTTP 路径。

📄 许可证

MIT——见 LICENSE。

dsh-mcp-bridge(中文)

一个文件,把整个 MCP 生态接进 DeepSeek Harness。零依赖,不用 SDK。

你的 DSH agent 可以直接调用任何 MCP server 的全部工具——文件系统、GitHub、数据库、搜索、记忆,以及社区里成千上万的 server:

你:把 ./app 的改动提一个 GitHub PR
Agent:[调用 mcp_github_create_pull_request] ✓ 已创建 PR #42

✨ 亮点

- 🔌 一行配置接入 1000+ 现成工具(MCP 生态是 agent 最大的工具目录)
- 🪶 零依赖:原生 JSON-RPC 2.0 over stdio,约 400 行纯 JavaScript
- 🌐 同时支持 stdio(本地 command)与 HTTP/SSE(远程 url,经 mcp-remote 桥接)
- 🔁 工具自动注册为 mcp__
- 🧹 插件停止/更新时自动清理子进程
- 🛡️ 不支持的 JSON-Schema 关键字安全降级,MCP server 始终是最终校验方

🚀 快速开始

A. 动态插件(单会话,不改文件):在 DSH 会话中用 cordis_define 粘贴 plugin.js 的代码并运行。
B. 永久挂载(agent 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
export DSH_MCP_SERVERS='[{"id":"filesystem","command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","~/projects"]}]'

然后用 mcp-agent 预设开新会话即可。工具命名规则:mcp__,另有 mcp_status 查看每个 server 的连接状态。

🔧 配置

server 配置是一个 JSON 数组,每项支持 id / command / args / cwd / env(stdio)或 url(HTTP,经 mcp-remote 桥接)。通过 DSH_MCP_SERVERS 环境变量或编辑 plugin.js 里的 DEFAULT_SERVERS 传入。示例见 examples/servers.json。

🧠 工作原理

spawn 子进程 → initialize 握手 → tools/list 发现工具 → 消毒 JSON Schema 并注册为 DSH 工具 → 模型调用时转发 tools/call → 渲染文本结果(120 秒协作超时、并发安全)→ 插件停止时注销工具并终止进程。

🛣️ 路线图 / 🔒 安全提示

路线图:resources/prompts 支持、断线自动重连、原生 streamable-HTTP 客户端、危险工具的逐服务器授权确认。安全:MCP server 以你的权限运行,只连接可信 server;filesystem server 只授予必要的目录;API token 走 env 字段,生产环境请用密钥管理器。

📄 License

MIT — 见 LICENSE。
预览分享卡片长什么样 ↓Chhlafiu4312/dsh-mcp-bridge
分享 · DeepSeek Harness Hub
Chhlafiu4312/dsh-mcp-bridge

把任意 MCP 服务器的工具接入智能体直接调用

这是你的仓库?认领条目

回到顶部