dsh-mcp
MCP server 管理插件(独立版):托管 MCP 服务器注册表(持久化定义、运行时挂载、环境变量注入、连接探测)+ Web 设置管理页。由 deepseek-harness 仓库内的 mcp-manager / ui-settings-mcp / web-mcp 迁移合并而来。MCP server registry with WebUI management for DeepSeek Harness.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-mcp — MCP 服务器管理插件(独立版)
English | 简体中文

功能
- 托管 MCP 服务器注册表(host):持久化定义(storage-domain
mcp_servers)、按服务器挂载@deepseek-ai/dsh-mcp-client实例、环境变量注入(明文入定义、secret 走 credentials)、 连接探测(test)。 - Web 设置管理页(client):Settings → MCP,列表/编辑/删除/测试服务器。
- Remote 自挂载:client 半部在
apply()里自行ctx.remote.$mount()挂载mcpManager命名空间(原实现依赖 api-remotes 的 in-box 修改,独立版不再需要任何 in-box 包改动)。
结构
dsh-mcp/
├── package.json name=dsh-mcp;dsh.client 声明;零 npm dependencies
├── lib/
│ ├── index.js host 半部(McpManagerService,源自 mcp-manager 构建产物)
│ ├── probe.js vendored 连接探测(源自 mcp-client/src/probe.ts)
│ ├── transport.js vendored 传输工厂(源自 mcp-client/src/transport.ts)
│ └── client.js 浏览器半部(esbuild 打包,ModuleLoader wire format)
├── src/client/ 浏览器半部源码(TSX + CSS Modules + 本地 types + remote-contribution)
└── scripts/build.mjs 构建脚本(esbuild 取自 DSH checkout,见下)
构建
node scripts/build.mjs
- esbuild 从 DSH 源码 checkout 解析:
$DSH_SOURCE未设置时尝试~/.dsh/source/current。 - 运行时依赖(
@deepseek-ai/*、zod、@modelcontextprotocol/sdk)不装 npm 包, 从$DSH_HOME/profiles/node_modules(DSH profiles 模块 fallback,$DSH_HOME默认~/.dsh)解析;构建时经nodePaths指向同一目录。 - CSS Modules 由 esbuild onLoad 插件处理:样式注入 ``,默认导出 identity 类名映射。
安装
方式一:npm(发布到 npm 后)
dsh plugin --profile web add dsh-mcp
方式二:GitHub git 源
dsh plugin --profile web add github:ArvinQi/dsh-mcp
# 或
dsh plugin --profile web add git+https://github.com/ArvinQi/dsh-mcp.git
方式三:本地开发(link)
dsh plugin --profile web add link:
注意:本地
link:安装时,插件目录内含node_modules -> $DSH_HOME/profiles/node_modulessymlink(本机开发用,不入库),否则link:安装的 symlink 被 realpath 后无法解析@deepseek-ai/*。