# mcp-server-health-monitor 中文文档

规范地址：https://npmcn.com/package/mcp-server-health-monitor/

版本：1\.0\.1
npm 元数据更新时间：2026-11-04T02:15:29.213Z
中文译文更新时间：2026-11-04T03:47:43.691Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/mcp-server-health-monitor
原文对照：https://npmcn.com/package/mcp-server-health-monitor/?lang=original
项目主页：https://github.com/dbsectrainer/mcp-server-health-monitor#readme
源码仓库：https://github.com/dbsectrainer/mcp-server-health-monitor

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：98.5 kB，35 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19\.0
- 运行依赖：5 个
- 首次发布：2026-03-23T19:56:36.839Z
- 最新版本发布：2026-11-04T02:15:29.028Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

监视所有MCP服务器的运行状况

## 安装

```sh
npm install mcp-server-health-monitor
```

也可以使用：`pnpm add mcp-server-health-monitor`、`yarn add mcp-server-health-monitor`、`bun add mcp-server-health-monitor`

## README

# MCP服务器运行状况监视器

npm `mcp-server-health-monitor` 包

使用协议（而不仅仅是HTTP）的mcp本机运行状况监视。而不是ping端口，它调用 `list_tools` 在每个服务器上-与您的代理使用相同的握手-因此绿色状态意味着服务器实际上已准备好处理MCP请求。所有运行状况历史记录在SQLite中保持本地；不需要外部监控服务。

[参考工具](https://npmcn.com/package/mcp-server-health-monitor/#readme-tools) | [配置](https://npmcn.com/package/mcp-server-health-monitor/#readme-configuration) | [贡献](https://npmcn.com/package/mcp-server-health-monitor/#readme-contributing) | [故障排除](https://npmcn.com/package/mcp-server-health-monitor/#readme-troubleshooting)

## 关键特性

-   **自动发现**：读取现有的MCP配置文件（Claude Desktop, Cursor, VS Code），无需额外设置。
-   **非侵入性的探测**：只打电话 `list_tools` 在目标服务器上-只读，没有副作用。
-   **版本漂移检测**：跨检查比较工具模式，以检测服务器何时更新。
-   **历史趋势**：在SQLite中存储延迟历史；P50 /p95是按需计算的，从存储的历史到表面回归，直到它们成为中断。
-   **HTML仪表板**：生成包含每个服务器正常运行时间火花线的独立运行状况指示板。
-   **背景调查**：作为守护进程运行，因此当您请求健康数据时，它始终是新鲜的。

## 为什么这优于一般的正常运行时间监视器？

一般的正常运行时间监视器（UptimeRobot, Pingdom, BetterStack）检查端口是否打开或HTTP端点是否返回200。这对MCP服务器来说还不够——服务器可以运行，但无法协商MCP协议或返回一个损坏的工具模式。

|  | mcp-server-health-monitor | 通用正常运行时间监视器 |
| --- | --- | --- |
| 探测法 | MCP `list_tools` 调用-测试实际协议 | HTTP ping或TCP端口检查 |
| 模式漂移检测 | 检测工具签名何时在不同版本之间发生变化 | 没有协议感知是不可能的 |
| 配置自动发现 | 自动读取克劳德桌面，光标，VS代码配置 | 每台服务器手动输入URL |
| 数据居住 | 本地SQLite;无外部服务 | 存储在供应商云中的健康数据 |
| 成本 | 免费的,自托管 | 免费等级有限；为历史/警报付费 |

如果您想知道您的MCP服务器是真正健康的—而不仅仅是“进程正在运行”—这是正确的工具。

## 需求

-   Node.js v20.19或更新版本。
-   npm。

## 开始

在MCP客户端中添加以下配置：

```json
{
  "mcpServers": {
    "health-monitor": {
      "command": "npx",
      "args": ["-y", "mcp-server-health-monitor@latest"]
    }
  }
}
```

> 监视器自动从它注册的同一配置文件中发现其他MCP服务器。不需要额外的设置。

### MCP客户端配置

Amp·Claude Code·Cline·Cursor·VS Code·Windsurf·Zed

## 你的第一个提示

在您的MCP客户端中输入以下内容以验证一切正常：

```
Check the health of all my MCP servers.
```

客户端应该返回一个状态表，其中显示每个服务器的当前延迟和运行状况状态。

## 工具

### 运行状况检查（3个工具）

-   `health_check_all` -通过并行探测所有配置的服务器 `list_tools`，测量延迟并存储结果。接受可选的 `timeout_ms` 参数（默认值：5000）。
-   `get_server_status` -返回每台服务器的详细信息，包括延迟，最后看到的时间，24小时错误计数，最后错误消息和p50/p95延迟百分比。需要 `server_name`。
-   `list_degraded` —对离线或延迟超过阈值的服务器进行过滤。接受可选的 `latency_threshold` 覆盖。

### 历史（1个工具）

-   `get_history` -返回特定服务器的原始运行状况检查历史记录，顺序首先是最近的。需要 `server_name`;接受可选 `limit` （默认值：50，最大值：500）。

### 服务器注册表（2个工具）

-   `configure_server` -注册一个新的MCP服务器进行监控。以这种方式添加的服务器存储在 `~/.mcp/extra-servers.json` 并与自动发现的服务器合并。要求: `name`， `command`． 可选: `args`， `env`。
-   `remove_server` -从监控中移除手动注册的服务器。只影响通过添加的服务器 `configure_server`;自动发现的服务器不受影响。需要 `name`。

### 更新（1个工具）

-   `check_updates` -通过在每个探测上散列工具模式并与最后存储的散列进行比较来检测版本漂移。返回 `has_changed`， `previous_hash`， `current_hash`, `changed_at` 每台服务器。

### 导出（1个工具）

-   `export_dashboard` -生成一个独立的单文件HTML仪表板，带有摘要卡，每台服务器状态表，p50/p95延迟，以及内联SVG正常运行时间火花线。接受可选的 `output_path` 写入磁盘。

## 手动服务器注册

除了从MCP配置文件自动发现之外，您还可以使用 `configure_server` 工具。写入手动注册的服务器 `~/.mcp/extra-servers.json` （与健康数据库一起存储），并与每次探测时自动发现的服务器合并。

```
Add a server named "my-internal-tool" running with command "node" and args ["/opt/tools/server.js"]
```

停止监控手动注册的服务器。

```
Remove the server named "my-internal-tool" from monitoring
```

从Claude Desktop的配置中发现的服务器不能通过 `remove_server` -编辑您的MCP配置文件直接删除这些。

## 配置

### `--interval` / `--interval-seconds`

轮询每个MCP服务器的频率，以秒为单位。

类型: `number` 默认值: `60`

### `--latency-threshold`

延迟时间（以毫秒为单位），超过该延迟时间服务器被标记为降级。

类型: `number` 默认值: `1000`

### `--db` / `--db-path`

用于存储运行状况历史记录的SQLite数据库文件的路径。

类型: `string` 默认值: `~/.mcp/health.db`

### `--daemon`

作为后台轮询守护进程运行。健康数据是连续收集的，而不是按需收集。

类型: `boolean` 默认值: `false`

### `--startup-grace-seconds`

新启动的服务器被认为不健康之前的宽限期（以秒为单位）。

类型: `number` 默认值: `10`

传递标志 `args` 属性在JSON配置中：

```json
{
  "mcpServers": {
    "health-monitor": {
      "command": "npx",
      "args": ["-y", "mcp-server-health-monitor@latest", "--interval=30", "--latency-threshold=500"]
    }
  }
}
```

## 上市

-   列在 [MCP注册表](https://registry.mcp.so/) -搜寻 `mcp-server-health-monitor`。
-   上市 [MCP市场](https://mcpmarket.com/) -搜寻 `mcp-server-health-monitor`。

## 验证

在发布新版本之前，请使用MCP Inspector验证服务器，以确认所有工具都正确公开并且协议握手成功。

**交互式用户界面** (打开浏览器):

```bash
npm run build && npm run inspect
```

**CLI模式** （脚本/ ci友好）：

```bash
# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list

# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list

# Call a tool (example — replace with a relevant read-only tool for this plugin)
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name health_check_all

# Call a tool with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name health_check_all --tool-arg key=value
```

在发布之前运行，以在工具注册和运行时启动时捕获回归。

## 贡献

探针模块位于 `src/probes/`． 每个探测必须返回一个 `ProbeResult` 与 `status`， `latencyMs`，以及可选的 `message`． 将所有探针保持为只读-永远不会在被监视的服务器上触发副作用。

```bash
npm install && npm test
```

## 常见问题

### mcp-server-health-monitor 是什么？

监视所有MCP服务器的运行状况

### 如何安装 mcp-server-health-monitor？

在项目目录运行 npm install mcp-server-health-monitor，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-server-health-monitor，可以用 npx mcp-server-health-monitor 直接运行。

### mcp-server-health-monitor 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### mcp-server-health-monitor 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### mcp-server-health-monitor 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### mcp-server-health-monitor 可以商用吗？

mcp-server-health-monitor 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### mcp-server-health-monitor 还在维护吗？

最新版本 1\.0\.1 发布于 2026/11/04（今天）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/03/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

