hyzyn/dsh-plugin-kit--packages-mcp ↗★ 0
@hyzyn/dsh-mcp
DSH Web GUI 的 MCP 服务器配置插件:官方设置 → 插件 里的「MCP 服务器配置」卡片,托管 ~/.dsh/cordis.patch.yml 的 MCP 区块,保存后经 HMR 热加载为 mcp__<server>__<tool> 工具(支持 stdio / streamable-http、连接测试、启用停用)。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hyzyn/dsh-plugin-kit#7f681f3fecde0d04709c3a4c8a1d8f02b80bbeff&path:packages/mcp说明文档
阅读完整 README ↗@hyzyn/dsh-mcp
DSH Web GUI 的 MCP 服务器配置插件:官方 设置 → 插件 里的「MCP 服务器配置」卡片,提供图形化管理。浏览器半体通过核心 settings.plugin.item 插槽注册,与官方终端 / Agent 循环 / 网页搜索卡片同级。
MCP 服务器在 DSH 里是官方 @deepseek-ai/dsh-mcp-client 的插件实例。本插件在
~/.dsh/cordis.patch.yml(home 补丁层,对所有 profile 生效)里维护一段带标记的
托管区块,每条服务器是一行 insert patch;DSH 对该文件注册了 HMR 监听
(watchUserPatches),所以保存后无需重启宿主进程即可热加载,工具以
mcp____ 注册给模型。
能力
- 设置 → 插件 里的「MCP 服务器配置」卡片(React 外壳 + 纯 DOM 面板,无构建步骤)
- 两种传输:
- stdio:command / args / env / cwd(本地子进程服务器,如
npx -y @modelcontextprotocol/server-filesystem) - streamable-http:url / headers(远程 MCP 服务,支持 SSE 与 session 头)
- stdio:command / args / env / cwd(本地子进程服务器,如
- env / headers 值支持
js:前缀的!!js表达式(如js:process.env.GITHUB_TOKEN, 模板串也可用),与 dsh 补丁文件方言一致 - 连接测试:宿主直说 JSON-RPC(initialize → tools/list),不依赖 MCP SDK, 返回协议版本、serverInfo、工具清单与耗时
- 启用 / 停用(
disabled: true)、编辑、删除 - 存活状态徽章(从 loader fiber 读取:运行中 / 已停用 / 错误 / 加载中)
- 与外部 mcp-client 实例的 serverName 冲突提示
- agent 能力公告(systemPrompt section,order 150),用户提到「MCP 配置 / MCP 服务器」 即指本插件
结构
| 文件 | 说明 |
|---|---|
src/index.ts | 宿主半体:托管区块读写、校验、状态读取、JSON-RPC 探测、/api/dsh-mcp/* 路由(loopback-only 围栏) |
client.js | 浏览器半体:注册 settings.plugin.item 卡片(React 外壳 + 纯 DOM 管理面板,window.__ModuleLoader__.load 格式) |
cordis.patch.yml | bundle 补丁:把插件行插入 profile 阵容 |
路由(仅限 loopback + 同源):
GET /api/dsh-mcp/servers—— 列表 + 状态 + 冲突POST /api/dsh-mcp/servers/save—— 整体保存(校验后写回托管区块)POST /api/dsh-mcp/test—— 用表单配置做一次连接测试
安装
pnpm --filter @hyzyn/dsh-mcp build
dsh plugin --profile web add link:$(pwd)/packages/mcp