← Back to home@0N3-0

dsh-tui-mcp-manager

面向 dsh-TUI 的原生 MCP Server 管理插件:通过 /mcp-manager 浮窗完成 MCP CRUD、启停、Sets、复制、Inspector、Tool schema、Doctor Lite 和凭据引用管理,并将配 置原子写入当前 profile,支持 Cordis HMR 热重载。

Stars
0
Language
TypeScript
Created
Aug 25, 2026
Updated
Sep 29, 2026
GitHub repo

Introduction

dsh-tui-mcp-manager

CI npm License: MIT

English | 中文

在 dsh-TUI 中集中管理 MCP 服务器、Set、工具与运行状态。 无需离开终端,输入 /mcp-manager 即可打开全屏界面。

安装

需要 Node.js ^22.19 || >=24、dsh 0.2.0-rc.1 和 dsh-TUI >=0.11.2 <0.12.0。

dsh plugin --profile dsh-tui add dsh-tui-mcp-manager
dsh --profile dsh-tui

进入 TUI 后运行 /mcp-manager。界面语言跟随 dsh-TUI,可用 /lang zh 或 /lang en 切换。

dsh-TUI 0.11.2 尚未向第三方 Loader 插件开放命令接纳流程。本插件在该版本中通过 commands 服务注册 /mcp-manager;TUI 的插件归属和针对该命令的单插件 commands.invoke 授权暂不生效。宿主开放接纳后会优先使用托管注册。

预览

MCP 服务器概览

更多界面截图

Set 管理 · 工具与 Schema · 创建 Set · 创建服务器

核心能力

区域能力
服务器池创建、复制、编辑、停止、重连和全局删除服务器
MCP Sets编排成员、独立启停、设置启动时状态,并对跨 Set 成员自动去重
工具浏览工具说明与输入 Schema,按名称或说明搜索
诊断打开页面即自动检查配置、连接、运行时和工具注册
凭据通过 DSH credentials 引用敏感环境变量与请求头

服务器编辑器支持 dsh 0.2 的 maxInstructionBytes,用于限制服务器说明进入系统提示词时的 UTF-8 字节数,默认 32768。MCP 资源由 dsh 的共享资源工具按需读取。

服务器、Set 和工具列表都支持 / 搜索。服务器概览还会显示它所属的全部 Set:◆ 表示活动,◇ 表示未活动。

Set 如何生效

实际运行的服务器是所有活动 Set 成员的并集。重复成员只会启动一次:

Set A: context7, websearch
Set B: websearch, ghgrep
运行:  context7, websearch, ghgrep

首次使用时会生成包含现有 MCP 的 Default Set;保存后它就是普通 Set。停止服务器只影响当前进程,不会改变 Set 成员关系;也可以随时原地恢复。

按键

按键操作
Tab切换左侧导航与右侧详情焦点
↑ / ↓选择节点、操作、字段或工具
← / →切换详情标签或移动输入光标
Enter打开、编辑或确认
/搜索当前列表
w切换 Set 与服务器池
Esc返回或取消

配置与安全

  • 服务器配置直接读写当前 profile 的 cordis.patch.yml,不维护第二份数据库。
  • Set 保存在同目录的 mcp-manager.sets.yml,只记录 Set 信息和服务器 ID。
  • 写入与 dsh 的 Profile 配置编辑器共用锁,并使用 fsync 和原子 rename;managed block 外的内容保持不变。
  • 删除服务器时会同步清理所有 Set 引用。
  • 敏感值只写入 credentials provider,配置文件中仅保留引用。
  • 升级旧版 dsh 时,如果 profile 尚无 managed block,会从保留的 settings.yaml 或 settings.yaml.imported 一次性导入旧 MCP 配置。
诊断与运行时细节

诊断页会检查 Loader/Fiber、可执行文件或 URL、工作目录、凭据、连接和工具数。未处于活动 Set 的服务器会临时启用已有 Loader 配置完成握手,读取状态后立即停止;不会修改 Set 或配置文件。

“停止服务器”同样只停用当前进程中的 Loader 行。配置或 profile 重载后,临时停止状态会自动失效。

配置写入与凭据引用

插件只修改 cordis.patch.yml 中由以下 marker 包围的区块,兼容旧 marker、row prefix 和 metadata key:

# >>> dsh-mcp-manager: managed MCP server rows >>>
# managed MCP server rows
# <<< dsh-mcp-manager: managed MCP server rows <<<

敏感字段在 patch 中只保留引用,例如:

secretHeaders:
  api-key:
    ref: MY_CONTEXT7_KEY
    prefix: ''

真实值不会出现在服务器概览、profile patch 或 RPC snapshot 中。

更新与卸载

重新执行安装命令即可更新。卸载使用:

dsh plugin --profile dsh-tui remove dsh-tui-mcp-manager
从源码开发
git clone https://github.com/0N3-0/dsh-tui-mcp-manager.git
cd dsh-tui-mcp-manager
pnpm install --frozen-lockfile
pnpm check
dsh plugin --profile dsh-tui add .

常用发布前检查:

pnpm check
npm pack --dry-run
pnpm smoke:package

本地 add . 仅用于开发联调;普通用户无需 clone 或构建仓库。

兼容性

当前构建与运行基线为 dsh-TUI 0.11.2 与 dsh 0.2.0-rc.1。项目采用纯 ESM 和 MIT 许可证;发布由 GitHub Actions OIDC Trusted Publishing 完成。

插件运行在宿主进程内。manifest 权限用于宿主审计与策略声明,不是操作系统安全沙箱。

License

MIT © 2026 0N3-0