DeepSeek Harness Hub
← 返回列表

MCP 代理适配器NexusAgentX/dsh-mcp-adapter

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

用单个代理工具按需调用 MCP,省下上下文窗口

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=20);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/8/14 · 已提供中文文档

DeepSeek Harness 的 MCP 适配器——用一个代理工具,而不是把所有 MCP schema 都塞进上下文。

综合分
32.4
GitHub 分
32.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-mcp-adapter
npm 包 dsh-mcp-adapter 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

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

npm 包dsh-mcp-adapter @ 0.6.3
Node 引擎要求 >=20 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 18:58:36

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-tools@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-mcp-adapter

将 MCP 服务器与 DeepSeek Harness 配合使用,而不会耗尽上下文窗口。

一个 mcp 代理工具。延迟启动服务器。按需 search / describe / call。通过 Web /mcp 菜单进行配置。

英文 | 中文

为什么需要它

DeepSeek Harness 已经内置了 @deepseek-ai/dsh-mcp-client。该客户端在启动时连接,并将每个对外公布的 MCP 工具注册为原生 mcp____ 函数。每次请求都要付出 schema 开销。

本适配器改为遵循 pi-mcp-adapter 的约定:

- 一个 mcp 代理工具,而非数百个 schema
- 延迟启动服务器
- 按需 search / describe / call
- 标准的 .mcp.json 发现机制,外加一个可写入项目文件的 Web /mcp 菜单
- 可选的 directTools 提升,用于热路径工具
- 元数据缓存,使搜索在实时连接之前即可工作

它是一个独立插件。它与 DeepSeek AI 无关联。

不要将本适配器与 @deepseek-ai/dsh-mcp-client 挂载到相同的服务器上。它们会重复连接并争夺名称。

安装

dsh plugin --profile web add dsh-mcp-adapter

重启 dsh web 并强制刷新浏览器。该包是双面的:Host 部分注册工具和命令;Web 客户端部分添加 /mcp 弹窗和 MCP 工具卡片。

设置 → 插件下没有 MCP 表单。官方插件设置是一个允许列表;树外插件无法在那里注册卡片。配置在 /mcp 菜单或 JSON 文件中进行。

Web UI(主要方式)

在 Chat 中,输入 /mcp:

| 菜单 | 作用 |
|---|---|
| Status / Sources / Prompts | 检查状态 |
| DeepWiki、Context7、Notion、GitHub、Chrome DevTools | 一键添加到项目 .mcp.json |
| server · Connect / Authorize | 连接,或打开 OAuth 浏览器流程 |
| server · Disable / Remove | 确认,然后停止或删除 |

自定义服务器(也会写入 .mcp.json 并在进程内重新加载):

/mcp add docs url=https://mcp.example.com/mcp
/mcp add fs command=npx args=-y,@modelcontextprotocol/server-filesystem,/tmp

然后让模型执行 mcp({ search: "screenshot" })。工具卡片使用与第一方 Skill 和 Tool 行相同的 DisclosureRow / StateDot / SearchBlock 外观。approveTools 使用 Chat Ask 对话框。

文件配置(共享 / 高级用户)

如果你希望在 Cursor 或其他宿主中使用相同的服务器,首选的项目文件仍然是 .mcp.json:

{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@1.6.0"]
}
}
}

| 文件 | 用途 |
|---|---|
| ~/.config/mcp/mcp.json | 用户全局共享 MCP 配置 |
| ~/.agents/mcp.json | 用户全局、工具无关的 MCP 配置 |
| ~/.agents/mcp/mcp.json | 用户全局、工具无关的 MCP 配置 |
| .mcp.json | 项目本地共享 MCP 配置(Web 添加/移除会写入此处) |
| $DSH_HOME/mcp.json | dsh 全局覆盖(默认 ~/.dsh/mcp.json) |
| .dsh/mcp.json | dsh 项目覆盖 |

后面的文件优先。/mcp disable 和 /mcp enable 只将 disabled 字段写入 .dsh/mcp.json。它们从不复制凭据。

特定于宿主的配置(Cursor、Claude Code、Codex、OpenCode、Windsurf、VS Code)由 dsh-mcp-adapter init 和 /mcp list 检测。除非你将 settings.hostConfigDiscovery 设置为 "on" 或在 imports 中列出它们,否则它们不会被加载。

{
"imports": ["cursor"],
"settings": {
"hostConfigDiscovery": "off",
"toolPrefix": "server",
"idleTimeout": 10
},
"mcpServers": {}
}

服务器选项

{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "some-mcp-server"],
"lifecycle": "lazy",
"idleTimeout": 10,
"requestTimeoutMs": 30000,
"directTools": ["search"],
"includeTools": ["search", "get_"],
"excludeTools": ["admin_"],
"searchKeywords": {
"search": ["find", "lookup"]
}
}
}
}

| 字段 | 含义 |
|---|---|
| lifecycle | lazy(默认)、eager、keep-alive、lazy-keep-alive |
| idleTimeout | 空闲的 lazy 服务器关闭前的分钟数(默认 10,0 表示禁用) |
| directTools | true 或名称列表——将这些工具注册为原生 dsh 工具 |
| url / headers / bearerToken / bearerTokenEnv | Streamable HTTP;在 404/405 时回退到 SSE |
| auth / oauth | "oauth" 或 "bearer";OAuth 令牌存放在操作系统凭据存储中 |
| socket | rmcp-mux Unix 域套接字(与 command / url 互斥) |
| approveTools | true 或 glob 模式——在这些工具运行前进行 Chat Ask |
| disabled | 保持条目可见但不连接 |

模型工具

mcp({ search: "screenshot" })
mcp({ describe: "chrome-devtools_take_screenshot" })
mcp({ tool: "chrome-devtools_take_screenshot", args: { format: "png" } })
mcp({ connect: "chrome-devtools" })
mcp({ action: "auth-start", server: "notion" })
mcp({ action: "auth-complete", server: "notion", args: { redirectUrl: "http://localhost:.../callback?code=..." } })
mcp({ prompt: "create_plan", server: "agent-board", args: "harden retry policy" })

args 可以是 JSON 对象或 JSON 字符串。mcpScript 可以在一个 JavaScript 请求中循环 / 搜索 / 调用多个 MCP 工具。

人工命令

/mcp
/mcp status
/mcp list
/mcp json
/mcp setup
/mcp prompts
/mcp add-preset
/mcp add  url=
/mcp add  command= [args=a,b] [auth=oauth]
/mcp connect
/mcp auth
/mcp enable
/mcp disable
/mcp remove

CLI

dsh-mcp-adapter init
dsh-mcp-adapter status

状态

| 部分 | 0.6.3 |
|---|---|
| mcp 代理 + lazy 生命周期 + 元数据缓存 | 是 |
| Web /mcp 配置 / 连接 / 认证 | 是 |
| Web 卡片(DisclosureRow / SearchBlock) | 是 |
| Web Ask for approveTools | 是 |
| OAuth、提示词、mcpScript、Agent Plugins、套接字 | 是 |
| 设置 → 插件表单 | 否(宿主允许列表) |
| elicitation / sampling / MCP UI 应用 | 尚未在 dsh 宿主中 |

许可证

MIT

灵感来自 pi-mcp-adapter(MIT)。参见 NOTICE。

中文

给 DeepSeek Harness 用的 MCP 适配器:一个代理工具,按需搜索 / 描述 / 调用,不把每个 MCP schema 塞进上下文。

配置入口是 Web 的 /mcp,不是 Settings。 官方插件设置页不允许外部插件挂表单。

dsh plugin --profile web add dsh-mcp-adapter

重启 dsh web,硬刷新,在输入框敲 /mcp:

- 一键添加 DeepWiki / Context7 / Notion / GitHub / Chrome DevTools(写入项目 .mcp.json,立刻生效)
- 对已有 server:连接、授权、停用、移除
- 自定义:/mcp add docs url=https://… 或 /mcp add fs command=npx args=-y,pkg

然后让模型 mcp({ search: "screenshot" })。卡片和官方 Skill / Tool 行同一套 DisclosureRow / StateDot / SearchBlock。

也可以继续用手写 .mcp.json / ~/.config/mcp/mcp.json,和其他 MCP 宿主共用。不要和 @deepseek-ai/dsh-mcp-client 挂同一批 server。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(NexusAgentX)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群