Linux系统监控服务器

一个用于监控和交互Linux系统的JavaScript实现MCP服务器,提供CPU、内存、磁盘、网络和进程数据的全面指标。

  • by DarkPhilosophy
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 DarkPhilosophy/mcp-system-monitor-js

使用说明

Linux系统监视器MCP服务器

JavaScript中的模型上下文协议(MCP)服务器实现,专为AI代理监控Linux系统并与之交互而设计。该服务器通过Stdio和安全的HTTP/SSE传输提供全面的指标,包括CPU、内存、磁盘、网络和进程数据。

特性

  • 双模式:作为标准MCP服务器(Stdio)或安全HTTP服务器运行(--http).
  • 性能优化:对静态硬件信息和并行传感器轮询使用TTL缓存。
  • 系统信息:主机名、操作系统详细信息、内核版本、正常运行时间。
  • CPU监控:使用百分比、频率、核心、品牌和温度。
  • 内存监控:RAM和交换使用率,实时可用性。
  • 磁盘监控:存储使用情况、文件系统类型和装载点筛选。
  • 网络监控:接口统计、流量数据和错误跟踪。
  • 持续指标:背景持久性 history.json 24小时滚动窗口。
  • 主动警报:实时阈值监控(CPU、内存、磁盘、温度),并立即发出控制台警告。
  • 高级流程跟踪:按资源消耗筛选、排序和限制进程列表。

安全

HTTP认证

在HTTP模式下运行时(--http),您可以使用API密钥来保护端点。

  1. 设置 MCP_API_KEY 环境变量:

    export MCP_API_KEY="your-secure-token-here"
    node src/index.js --http
    
  2. 然后,客户端必须在 x-api-key header或作为查询参数:

    • 头球: x-api-key: your-secure-token-here
    • 查询: http://localhost:57996/sse?apiKey=your-secure-token-here

注:如果 MCP_API_KEY 如果未设置,HTTP服务器将默认为公共访问(仅建议使用本地网络)。

用法

MCP模式(默认/标准)

由MCP兼容的客户端使用,如Claude Desktop或OpenCode。

node src/index.js

OpenCode配置(~/.config/opencode/opencode.json):

"system-monitor": {
  "type": "local",
  "command": [
    "node",
    "/var/home/alexa/.gemini/extensions/system-monitor-js/src/index.js"
  ],
  "enabled": true
}

HTTP服务器模式

node src/index.js --http

服务器监听端口 57996 默认情况下。

工具

  • get_system_info:一般操作系统/内核详细信息。
  • get_cpu_info:负载、规格和温度。
  • get_memory_info:RAM/交换指标。
  • get_disk_info:分区使用情况。参数: mountPoint (可选)。
  • get_network_info:流量和接口统计数据。
  • get_processes:活动进程。参数: limit (数字), name (过滤器), sortBy (cpu_usage, memory_usage, priority).
  • get_system_metrics:整合的系统运行状况快照。
  • get_metrics_history:检索历史性能趋势。参数: limit (分钟数)。
  • get_battery_info:电源状态和电池健康状况。
  • get_usb_devices:已连接硬件列表。

验证状态

Linting状态

状态: ✅ 经过
最后更新:美国时间2026年1月25日12:03:39
摘要:0个错误,0个警告

Latest Update (v0.2.0)
  • 2026-01-25
  • HTTP认证:添加了对以下内容的支持 MCP_API_KEY 用于保护SSE/HTTP端点的环境变量。
  • 输入验证:为所有工具参数实现了Zod模式,以确保严格的输入处理。
  • 代码整合:已合并 mcp_server.js 进入 index.js 使用官方MCP SDK为两种传输模式创建更干净、统一的代码库。
  • 静态缓存:为静态系统数据(操作系统信息、CPU硬件)添加了基于TTL的缓存(1小时),以减少冗余系统调用。
  • 并行数据获取:优化了所有数据收集功能以供使用 Promise.all 用于并行硬件传感器查询。
  • 重命名身份:从重新命名服务器 mcp-system-monitor-js 更简单 system-monitor.
  • 持续指标:实现了后台持久化 history.json 24小时滚动窗口。
  • 主动警报:添加了实时阈值监控(CPU、内存、磁盘、温度)和控制台警告。
  • 趋势分析:介绍 get_metrics_history 用于检索性能历史的工具。
  • 增强 get_processes:添加了对以下内容的支持 limit, name 过滤,以及 sortBy (cpu_usage, memory_usage, priority).
  • 增强 get_disk_info:已添加 mountPoint 过滤支持。
  • 汇总指标:改进 get_system_metrics 该工具用于返回系统健康状况的整合、优先快照。
  • 自动更新:添加了启动时检查新版本的非阻塞自动更新脚本。