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

把散落的 MCP 服务器收进一个面板——dsh-mcp-panel 应用实践

UI / 主题类文章2026/9/28 发布4 次阅读

MCP 服务器的日常管理一开始都是改 YAML:每接一个就往 cordis.yml 加一行,缩进引号全凭手感;接上七八个后,想确认哪个连上了、哪个在重连、哪个报错,只能翻日志。dsh-mcp-panel 把增删改查、状态查看和试调用收进设置页的一个选项卡,另配一组 /mcp 命令。

先分清:谁负责连接,谁负责界面

@deepseek-ai/dsh-mcp-client 是唯一的桥接。 每个 MCP 服务器对应一个插件实例,仍以手写的 cordis.yml 行配置,由它连接传输层、同步工具、注册 mcp__* 名称。

本插件从不替代它,只是其上的体验层。 它通过 mcp/status 接缝读状态,写入的只有仅追加、需审批的 profile 补丁;传输层、OAuth 与协议保持不动。面板的输出就是 cordis.patch.yml 的词汇表——和手写的行一样,只是被生成、预览、再安全应用。理解这条,「删除为何变成禁用」「写入为何要审批」都不意外。

安装:四个渠道,优先走 npm

标准安装是 dsh plugin --profile web add dsh-mcp-panel,装完用 dsh --profile web --dump-config | grep -A3 'id: mcp-panel' 确认那一行真的进去了。另有三条渠道:git(github:PerryLink/dsh-mcp-panel#main)、tarball(pnpm pack 后装 .tgz)、1024 商店。

git 渠道依赖 prepare 脚本构建且只用生产依赖,干净检出时曾因缺客户端 devDependencies 构建失败(后续 PR 已修),想省事就走 npm;1024 商店渠道要先 npm i -g dsh1024,否则直接报「找不到命令」。

六个 /mcp 命令,各管一件事

  • /mcp:每个服务器一行——传输方式、目标、工具数量、连接状态(来自上游接缝,未观测为 unknown)、最后错误、重连次数;可被模型读取、可从会话日志重建,支持五种输出语言。
  • /mcp tools:模型可见的 mcp__ 工具名称与描述。
  • /mcp health:派生出的自愈建议(ENOENT 指向缺依赖,另有 ECONNREFUSED、超时、401/403/404、DNS、限流等);退出码与 stderr 尾部在客户端暴露它们之前,如实标注为等待上游支持。
  • /mcp disable / enable:不手改补丁即可关闭或重新启用某个服务器行。
  • /mcp probe:一次 Streamable HTTP 连通性探测,后台任务。
  • /mcp call [json]:经官方工具流水线 ctx.tools.execute() 试调用,执行前的权限策略、审批、守卫都生效。

服务器 CRUD:新增是插入,删除是禁用

设置页卡片带徽章、诊断与探测。添加使用 insert;编辑 / 删除使用按 id 定向的覆盖(- id: 加 name: 以及 disabled: / config:)。

补丁词汇表里没有删除操作,所以点删除的实际效果是给那行盖上 disabled: true,随时可重新启用;要真删除得手工改 cordis.patch.yml 并从 node_modules 卸载。表单产物有两条出路:复制到剪贴板,或经审批门控的写入(自动备份 + 加载器重新验证)。

工具试用控制台与资源浏览

工具试用控制台:服务器 → mcp__ 工具 → JSON 参数 → 规范 JSON 结果加渲染内容,负载受 trialMaxResultChars 限制。结果仅面板可见,绝不进入模型上下文。

资源浏览:走官方三个共享工具 list_mcp_resources、list_mcp_resource_templates、read_mcp_resource(由随附的 @deepseek-ai/dsh-mcp-resources 桥接),只读地列资源、列模板、按 URI 读取,结果同样只在选项卡里显示。

这两处「不进入上下文」是有意为之:面板不注册任何提示词区段,唯一面向模型的文本是两个工具 / 命令描述。

推荐目录与配置导入导出

  • 推荐目录:快照内置社区 MCP 服务器目录(filesystem、git、github、fetch、playwright……),catalogEntries 可追加条目,相同 id 会替换内置条目。
  • 导入 / 导出:exportConfigs() 把服务器行序列化为带版本的 JSON;importPreview() 把导出内容解析回按服务器划分的 add 补丁片段,供逐条审阅。
  • 备份:每次写入保留最新的 backupCount 个 cordis.patch.yml 备份,默认 5 个。

权限与静态扫描:能力清单不等于危险判定

安全扫描给出「含敏感能力」,共 23 处证据:发起外部网络请求、可执行外部命令、读写 / 删除本地文件、写入剪贴板。这在意料之中——面板要读写 cordis.patch.yml、要探测 HTTP、要派生子进程。这是能力清单,不是危险判定。

该插件的 dshWorkshop 清单声明了 network:outbound 与 native-code:none。介意写入能力就关掉终止开关:writeEnabled: false,此后每次 profile 写入都被拒绝,但复制仍然可用。另两条边界值得先知道:该插件运行需访问外部网络,实例无出网条件时连接会失败;信任档位目前是「仅索引」,本站只做了静态安装检查、未做真实安装,用户评分为 0,README 的 Harness 基线是 dsh-v0.1.7-rc.2。

总结

dsh-mcp-panel 的价值不在于「多了一个功能」,而在于把 MCP 服务器的日常运维从 YAML 手感搬到可预览、可审批、可回滚的控制台:桥接仍是官方的,面板只做体验层,删除变成可逆的禁用,写入变成仅追加加备份。如果手上已经攒了好几个 MCP 服务器,又常需要确认它们的状态,顺着 DeepSeek Harness Hub 插件清单 找到它、装进非关键 profile 跑一轮,成本很低。

适合与不适合

适合:同时接了多个 MCP 服务器、需要一处集中看状态与错误的 DSH 用户;要给团队里不熟悉 YAML 的成员开放服务器增删改;需要在不打扰模型的前提下手动试调用某个 mcp__ 工具、验证参数是否写对;需要给 MCP 配置变更留备份与变更痕迹的多 profile 环境。

不适合:指望装完插件就等于接上 MCP 服务器的人——桥接仍是 @deepseek-ai/dsh-mcp-client,每个服务器那行配置还是得有人写;需要彻底删除服务器行的场景,补丁词汇没有移除操作,最终还是得手工改文件并从 node_modules 卸载;只想要提示词模板或资源订阅的人,这两项在上游尚未桥接,面板等不到。

标签:dsh-mcp-panel、DeepSeek Harness、MCP 管理控制台、应用实践、插件配置管理

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

回到顶部