dsh-mcp-inspector:在 DeepSeek Harness Web UI 中查看与管理 MCP 服务

前言

在 DeepSeek Harness(DSH)里接入多个 MCP 服务时,配置通常写在 profile 的 cordis.patch.yml 中,通过 @deepseek-ai/dsh-mcp-client 声明 transport、命令与参数。排查连接是否正常、当前暴露了哪些工具、或临时关掉某个服务而不改 YAML,往往要翻配置文件、看日志或重启进程。

dsh-mcp-inspector 是维护者 zwgblue 提供的客户端类 DSH 插件:在 Web UI 左侧边栏增加「MCP servers」入口,列出当前 profile 下已配置的 MCP 服务、实时状态,并可展开查看配置与方法列表,运行时开关单个服务。项目在 SkillHub 插件目录 归类为客户端;当前 package 版本为 0.0.2,许可证为 MIT。

这是什么

一句话:面向 DeepSeek Harness Web UI 的侧边栏面板,只读展示 MCP 清单与工具方法,并通过 Host 提供的 loopback 接口做按服务启停,变更会写回 profile 的 cordis.patch.yml。

插件由 Host 半(index.js:清单与 toggle 路由)与 Client 半(client.js:React 面板)组成,随 bundle 的 cordis.patch.yml 注入 Host 行 mcp-inspector。

核心功能

下面按 README 已说明的能力归纳,不展开未在资料中出现的行为。

侧边栏与列表

  • 左侧边栏出现 MCP servers 图标,点击进入全局面板。
  • 每个服务一行,状态取值包括:Connected、No tools yet、Disabled、Failed、Runtime-registered(含义见下文「状态含义」)。

展开单个服务

  • Configuration:传输类型徽章(stdio / streamable-http)、command、arguments(逐行)、工作目录、endpoint URL;header 与 environment 仅显示名称(值不向面板传出);call timeout、instruction cap、启动失败策略、重连策略、entry id。
  • Methods:列出该 MCP 暴露的每个 tool,含名称、完整描述与参数(必填项高亮)。

运行时开关

  • 可对单个服务启用或禁用:禁用会关闭 MCP 连接并注销其 tools;启用会重连。
  • 实现走 Host 官方的 pluginManager.setPluginEnabled(),写入当前 profile 的 cordis.patch.yml,重启后仍有效。

刷新与界面

  • 打开面板时读取一次,之后每 15 秒轮询;切换开关后立即刷新,并在服务重连期间额外读一次。
  • UI 使用 Host 主题 token(亮/暗),文案跟随 Host 语言(中/英)。

环境与前置条件

  1. DeepSeek Harness 0.2.x(Web GUI 或桌面版)。
  2. Profile 需加载 base 与 web-app bundles。
  3. MCP 服务须在 profile 中通过 @deepseek-ai/dsh-mcp-client 声明,例如在 cordis.patch.yml:
- insert:
    - id: mcp-github
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: github
        transport: stdio
        command: npx
        args: ['-y', '@modelcontextprotocol/server-github']

安装与启用

README 说明:先将本仓库放到本地目录,再任选一种方式安装进 Harness(资料原文为 clone 后安装;此处只写安装入口,不执行 clone)。

Web UI:Settings → Plugins → Add → 指向仓库的绝对路径,然后启用插件。

Agent / CLI:由 Harness agent 执行 plugin_manager 的 install_bundle,目标为仓库路径;或执行:

dsh plugin --profile <profile> add /absolute/path/to/dsh-mcp-inspector

安装成功后,左侧边栏应出现 MCP servers。若只改了客户端代码,需在 Plugins 页面禁用再启用该插件,或重启 Harness。

Host 路由与安全

Host 半注册两条仅 loopback 的路由,无用户可配项:

方法与路径 用途
GET /mcp-inspector/servers 只读清单:已配置服务、状态、配置、methods
POST /mcp-inspector/toggle 启停一行;body 为 { "entryId": "<Loader entry id>", "enabled": true }

安全相关说明(摘自 README):

  • 绑定在 Harness 自有 loopback Web 服务上,不额外开端口。
  • env 与请求 headers 的值不离开 Host;面板只显示名称。
  • toggle 仅接受 POST,需请求头 x-mcp-inspector-action: toggle;拒绝跨站 sec-fetch-site;仅允许切换清单中认定为 MCP 服务的行。

状态含义

状态 含义
Connected 条目已启用,且当前已注册 methods
No tools yet 条目已启用,但尚无 method(仍在连接或服务未暴露 tools)
Disabled 条目已禁用(面板开关或 patch 中 disabled: true)
Failed 激活失败(例如启动命令错误)
Runtime-registered 有已注册 methods,但没有对应配置行

典型用法

  1. 在 profile 中按上文示例配置至少一个 @deepseek-ai/dsh-mcp-client 条目并完成插件安装。
  2. 打开 Web UI,点击侧边栏 MCP servers,确认各行状态是否符合预期(例如 Failed 时对照 Configuration 中的 command/args)。
  3. 展开某行查看 Methods,核对 Agent 侧可见的工具名与参数是否与 MCP 服务文档一致。
  4. 临时停用某个服务:使用该行开关;确认状态变为 Disabled,且重启 Harness 后仍保持禁用(因写入 cordis.patch.yml)。
  5. 需要改 transport、命令或环境变量时,仍应编辑 profile 配置;本面板侧重观测与运行时启停,不替代完整配置编辑。

适用场景与注意

适合:在同一 DSH profile 下维护多个 MCP 服务、需要在浏览器里快速看连通性与工具列表、或想在不手改 YAML 的情况下关掉单个服务的开发者。

注意:

  • 插件逻辑在当前 DSH 进程权限下运行;安装前应阅读仓库源码并确认 MIT 许可证与行为是否符合你的环境策略。
  • Toggle 与清单数据来自 Host loopback,面向本机已登录的 Harness 会话;勿将 loopback 服务暴露到公网。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态倡导「一切皆插件」,本件为社区客户端扩展。

结尾

dsh-mcp-inspector 把当前 profile 下的 MCP 服务集中到侧边栏:状态一目了然,配置与方法可展开核对,开关会持久化到 cordis.patch.yml。若要试用或贡献,可从 GitHub 仓库 获取源码,并在 SkillHub 目录页 查看条目信息。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜