使用说明
-
项目简介
- 该项目实现了一个基于 Model Context Protocol (MCP) 的后端服务器,专注于 Linux 系统监控信息的提供、监控工具的调用以及提示模板的渲染。通过 JSON-RPC 2.0 协议通信,并支持两种传输方式:基于 HTTP 的 REST/JSON-RPC 请求以及 STDIO 形式的本地通信,适配不同的 AI 客户端场景。
-
主要功能点
- MCP 协议核心支持:实现 initialize、initialized、tools/list、tools/call 等 MCP 请求/通知处理,提供工具列表和执行工具的能力。
- 系统信息与监控数据:通过 Linux 系统调用和 /proc/kernel 等途径,提供系统信息、CPU、内存、磁盘、网络、进程等数据,以及完整的系统指标快照。
- HTTP REST API:提供 /health、/api/system/info、/api/system/cpu、/api/system/memory、/api/system/disks、/api/system/networks、/api/system/processes、/api/system/metrics、/api/monitoring/start、/api/monitoring/stop、/api/monitoring/status 等端点,便于外部应用直接读取数据。
- 双模传输能力:默认提供 HTTP API 与 MCP JSON-RPC 的结合使用,同时通过 --stdio 选项支持 STDIO 模式,方便本地 AI 客户端集成。
- 实时监控与示例:核心实现包含 SystemMonitor、Linux 系统信息采集、以及通过 MCP 进行跨进程/跨客户端的协作能力。
-
安装步骤
- 安装 Rust(ustup)并配置环境变量。
- 克隆源码并进入目录: git clone https://github.com/DarkPhilosophy/mcp-system-monitor.git cd mcp-system-monitor
- 构建项目(发布版本): cargo build --release
- 启动服务器
- HTTP 服务器模式(默认,通过 HTTP API 访问): cargo run --release 服务器将暴露在本地默认端口(参考文档),可通过 http://localhost:57996 进行访问。
- STDIO 模式(用于本地 MCP 客户端): cargo run --release -- --stdio
-
服务器配置(供 MCP 客户端使用的配置信息说明) 说明:MCP 客户端需要提供一个 JSON 配置来连接服务器。配置项包含服务器名称、要执行的命令路径以及启动参数等。以下为两种常见连接模式的示例描述(请用实际路径替换占位符):
- 方式一:HTTP 模式连接 { "server_name": "mcp-system-monitor", "command": ["/path/to/mcp-system-monitor"], "args": [] } 注释:server_name 作为识别名称,command 指向可执行二进制的路径,args 如不使用 STDIO 模式则留空。客户端将通过 HTTP 访问服务器端的 JSON-RPC 接口。
- 方式二:STDIO 模式连接 { "server_name": "mcp-system-monitor", "command": ["/path/to/mcp-system-monitor"], "args": ["--stdio"] } 注释:使用 --stdio 启动时,客户端通过标准输入输出进行 MCP JSON-RPC 通信,适用于本地集成场景(如某些 AI 开发环境的内嵌客户端)。
-
基本使用方法
- 启动服务器(HTTP 模式)后,先做健康检查,确保服务可用。
- 通过 MCP 客户端执行 initialize,进行协议版本协商和能力声明。
- 使用 tools/list 获取可用工具列表;使用 tools/call 调用具体工具(如 get_system_info、get_cpu_info 等)。
- 也可通过 HTTP API 直接请求 /api/system/info、/api/system/cpu、/api/system/metrics 等端点获取信息。
- 如需在本地 AI 流程中嵌入,请使用 STDIO 模式,将配置中的 --stdio 传递给二进制,进行 MCP JSON-RPC 的交互。
- 如遇到问题,检查日志输出、HTTP 端口、以及系统权限(系统信息采集可能需要相应权限)。
-
使用场景与注意
- 适合将 AI 代理/助手接入到 Linux 服务器的监控与维护工作中,提供统一上下文信息、系统指标和外部工具调用能力。
- 生产环境建议开启认证、加密传输并结合日志与监控系统实现更严格的安全与可观测性。
信息
分类
AI与计算