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

MCP 连接状态药丸 felix-lj-ct/dsh-mcp-live-status

DeepSeek 客户端
felix-lj-ct64 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

在输入框实时查看 MCP 服务器是否真正握手连通

28.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/felix-lj-ct/dsh-mcp-live-status.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 64 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    lib/client.js:121
    const res = await fetch(STATUS_URL, { cache: 'no-store' })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 实时显示MCP连接状态
  • 查看传输方式与工具数量
  • 展示握手失败原因
展开完整介绍(127 字)↓

给 DeepSeek Harness 网页输入框的工具行加个状态胶囊:显示配置的 MCP 服务器里有多少真能连上,点开还能看每台服务器的传输方式、工具数量和失败原因。它能暴露设置页看不到的问题——服务器挂载正常却始终没完成 MCP 握手。只读,无需配置。

README

由 DeepSeek 最新模型翻译生成
dsh-mcp-live-status Listed on dsh-plugin.org npm license 在输入框里看清哪些 MCP 真的连上了——在你按下发送键之前。 一个 DeepSeek Harness 插件,把 MCP 实时状态药丸放进对话输入框的工具行,紧挨着权限模式与模型选择器。 输入框工具行里的 MCP 状态药丸 功能要点 - 输入框内一眼看清 MCP 连接状态 - 识破「已挂载但未连接」的假健康 - 点开查看每个服务器的传输方式与工具数 - 只读零配置,命令行凭据自动脱敏 为什么需要它 DSH 的设置页能告诉你某个 MCP 插件挂载了,但没法告诉你服务器应答了。 @deepseek-ai/dsh-mcp-client 默认 failOnStartupError: false——传输层从没连上的服务器, Cordis fiber 状态照样是 ACTIVE。它在 UI 的每一处都显示正常。 你会在智能体调用它的工具时才发现它是死的,而那时任务已经跑到一半。 这个插件补的就是这个缺口,判据是唯一能证明握手成功的东西:工具注册。 mcp-client 只有在 connect() 和 listTools() 都成功之后,才会把 mcp____ 注册到 ctx.tools。
展开完整文档(README 剩余 1 节)
dsh-mcp-live-status

Listed on dsh-plugin.org
npm
license

在输入框里看清哪些 MCP 真的连上了——在你按下发送键之前。

一个 DeepSeek Harness 插件,把 MCP 实时状态药丸放进对话输入框的工具行,紧挨着权限模式与模型选择器。

输入框工具行里的 MCP 状态药丸

功能要点

- 输入框内一眼看清 MCP 连接状态
- 识破「已挂载但未连接」的假健康
- 点开查看每个服务器的传输方式与工具数
- 只读零配置,命令行凭据自动脱敏

为什么需要它

DSH 的设置页能告诉你某个 MCP 插件挂载了,但没法告诉你服务器应答了。

@deepseek-ai/dsh-mcp-client 默认 failOnStartupError: false——传输层从没连上的服务器, Cordis fiber 状态照样是 ACTIVE。它在 UI 的每一处都显示正常。
你会在智能体调用它的工具时才发现它是死的,而那时任务已经跑到一半。

这个插件补的就是这个缺口,判据是唯一能证明握手成功的东西:工具注册。
mcp-client 只有在 connect() 和 listTools() 都成功之后,才会把 mcp____ 注册到 ctx.tools。
所以状态是两个来源的 join——Loader 说配了什么,对上工具注册表说到了什么。

| Loader entry | 已注册工具 | 展示为 |
| fiber active | > 0 | 🟢 已连接 |
| fiber active | 0 | 🟡 已启动,未连接 ← 别处都看不出来的那个状态 |
| fiber pending / loading | — | 🔵 启动中 |
| fiber failed | — | 🔴 挂载失败 |
| 已停用 | — | ⚪ 已停用(默认不显示) |

安装

dsh plugin --profile web add dsh-mcp-live-status

或者不走 npm,直接从源码装:

dsh plugin --profile web add github:felix-lj-ct/dsh-mcp-live-status

然后重启 profile——正在运行的实例跑的还是旧的内存镜像:

dsh --profile web

配置到此结束。没有需要配的东西,也没有要执行的命令:打开一个会话,药丸就在输入框工具行里,紧挨着权限模式控件的右边。

两个前置条件,都容易漏:

1. 必须是 web profile。 这个插件是浏览器 UI,在 headless 或 tui 下不做任何事。
2. 至少配了一个 MCP 服务器。 一个都没有时药丸整个不渲染——这是刻意设计,空配置不该占布局。这也是「装完什么都没看到」最常见的原因。

没看到药丸?

先查 host 半边,它的应答独立于浏览器:

curl 127.0.0.1:3080/dsh-mcp-live-status/status

- 连接被拒 / 404 —— host 半边没加载。确认 patch 行是否生效:
dsh --profile web --dump-config | grep -A2 dsh-mcp-live-status
- "configured": 0 —— 没有配置 MCP 服务器,或者全被停用了。
设 showDisabled: true 可以看到被停用的那些。
- 返回了正常 JSON 且有服务器,但没有药丸 —— 你所在的界面没有会话,打开或新建一个对话即可。

长什么样

健康态 —— 不显示分母,因为分母不携带信息
[+] [⏱ Full access ⌄] [● MCP 4] [模型 ⌄] [↑]

降级态 —— 分母恰好在出问题时才出现
[+] [⏱ Full access ⌄] [● MCP 3/4] [模型 ⌄] [↑]

分母只在异常时出现,是刻意的取舍:用户的扫视成本从「读两个数并比较」降到「有没有斜杠」。

点击药丸展开只读面板,列出每个服务器的传输方式、工具数,以及出问题时的原因:

┌──────────────────────────────────┐
│ MCP 服务器 ⟳ │ ├──────────────────────────────────┤ │ ● atlassian stdio 31 工具 │ │ ● mongodb-qa stdio 20 工具 │ │ ● broken-probe stdio 已启动,未连接 │ ├──────────────────────────────────┤ │ 3 个已配置 · 2 个已连接 │ └──────────────────────────────────┘

配置

可选,默认值对大多数人够用。

- id: dsh-mcp-live-status
name: dsh-mcp-live-status
config:
pollIntervalMs: 10000 # 0 表示关闭轮询(只在挂载与手动刷新时拉取) showDisabled: false # 是否显示已停用的 Loader entry

轮询仅在浏览器标签页可见时进行。

权限与风险

只读。这个插件没有任何途径启动、停止、重载或改写 MCP 服务器配置——服务器管理仍然归设置页。

| 接触面 | 做了什么 |
| ctx.loader | 只读遍历已配置的插件树 |
| ctx.tools | 只读工具名称;从不调用任何工具 |
| ctx.webServer | 注册一条 JSON 路由 GET /dsh-mcp-live-status/status |
| 网络 | 无外发。浏览器半边只 fetch 上面这条本地路由。 |
| 存储 | 无。不缓存、不记历史、不写文件。 |

关于凭据。 MCP 服务器普遍把凭据直接写在命令行上(--connectionString mongodb+srv://user:pass@host、--token …)。
因为状态 payload 会被浏览器拉取,参数值在离开宿主前会先过滤:含 URI scheme 的、含 user:pass@ userinfo 的、跟在疑似密钥名参数之后的(pass/token/key/secret/auth/conn/dsn/uri/url)、超过 24 字符的无分隔符串、以及超过 40 字符的,一律丢弃。env 完全不读。
HTTP 传输只保留 origin + pathname,query 与 userinfo 不会外泄。

结果是可识别但不可利用——显示 npx -y mongodb-mcp-server --readOnly,而不是那串连接串。

这个过滤是启发式的。如果你的服务器明文参数本身就敏感,在把 DSH 暴露到 localhost 之外前,请先自己看一眼这条路由返回了什么:

curl 127.0.0.1:3080/dsh-mcp-live-status/status

兼容性

- DeepSeek Harness 0.1.0-rc.7(在此版本上开发并验证)
- Profile:web(插件面向浏览器 UI,platform: web)
- 必需 webServer。loader 与 tools 通过 ctx.reflect.get() 机会性读取——缺少其中任何一个 profile 仍能正常启动,只是报告的信息变少。
- 不依赖 dsh-typert-loader 或 dsh-api-gateway。

已知限制

- 需要有会话。 conversation.input.left 是 session scope, shell 在会话存在前不会传 zone。实际使用中从新建会话页开始就能看到药丸(因为选定 workspace 就会创建会话),但在真正无会话的界面上它不渲染。
- 轮询而非推送。 mcp-client 不发状态事件,没有可订阅的通道。
读数最多滞后一个轮询间隔。
- no-tools 是推断,不是探针。 一个确实不提供任何工具的服务器,和一个从没连上的服务器无法区分,两者都显示琥珀色。
插件绝不会自己另开一条 MCP 连接去探测。
- 数的是工具,不是健康度。 连上后又静默的服务器,在 mcp-client 的重连预算耗尽之前,仍保留上一代已注册的工具。

开发

npm install
npm run build # tsc —— 只编译 host 半边;浏览器半边是纯 JS
dsh plugin --profile web add ./dsh-mcp-live-status
dsh --profile web --dump-config | grep -A2 dsh-mcp-live-status

dist/ 是刻意提交进仓库的。pnpm 默认拦截 git 依赖的 prepare 脚本,而它要求的 allowBuilds key 绑定 commit hash——如果靠安装时构建,每个用户在每次发版后都得重新粘一次那个 key。改 src/ 后请先跑 npm run build 再提交。

两半彼此独立:

- src/index.ts → dist/index.js —— Node 侧,采集状态并提供路由。
- lib/client.js —— 浏览器侧,手写 CJS factory,无构建步骤、无 JSX。
模块加载器从 exports["./client"] + dsh.client 自动发现它,并服务于 /plugins/dsh-mcp-live-status/client.js。

要复现琥珀态:加一个 command 指向不存在可执行文件的服务器,并保持 failOnStartupError: false。

License

MIT
预览分享卡片长什么样 ↓felix-lj-ct/dsh-mcp-live-status
分享 · DeepSeek Harness Hub
felix-lj-ct/dsh-mcp-live-status

在输入框实时查看 MCP 服务器是否真正握手连通

回到顶部