系统监控MCP服务

一个基于Go语言开发的Model Context Protocol (MCP)服务器,提供系统监控、控制和自动化工具,可与Claude Desktop或其他MCP兼容客户端无缝集成。

  • by BrawlerXull
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 BrawlerXull/System-Monitoring-MCP

使用说明

🖥️ 系统监视器MCP服务器(Go)

A. 模型上下文协议(MCP) 用Go编写的服务器,提供系统监控、控制和自动化工具,旨在与 克劳德桌面 或任何其他MCP兼容客户端。


🚀 特性

类别 工具 描述
系统监控 get_cpu_usage 返回平均CPU使用率(%)
get_memory_usage 显示总计、已使用、免费和使用百分比
get_network_stats 显示每个接口发送/接收的字节数
get_battery_status 报告所有电池的充电水平和状态
get_gpu_usage 通过macOS获取GPU信息 system_profiler
get_system_info 提供操作系统、正常运行时间、内存和磁盘使用情况摘要
过程控制 list_processes 按CPU使用率列出前N个进程
kill_process 通过PID终止进程
launch_process 启动命令或应用程序
文件系统 list_files 列出指定目录中的文件

🧰 需求

  • 转到1.22+
  • macOS或Linux(适用于 system_profiler 或兼容命令)
  • Claude Desktop(用于MCP集成)
  • 依赖关系:
    go get github.com/modelcontextprotocol/go-sdk/mcp
    go get github.com/shirou/gopsutil/v3
    go get github.com/distatus/battery
    

⚙️ 安装

git clone https://github.com/yourusername/system-monitor-mcp-go.git
cd system-monitor-mcp-go
go mod tidy
go build -o system-monitor-mcp-go main.go

🧩 与Claude Desktop集成

  1. 打开你的 Claude桌面配置 (通常在 ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 在下面添加此项 mcpServers:
{
  "mcpServers": {
    "system-monitor": {
      "command": "/Users/chinmaychaudhari/Documents/coding/golang-mcp/system-monitor-mcp-go",
      "args": [],
      "cwd": "/Users/chinmaychaudhari/Documents/coding/golang-mcp"
    }
  }
}
  1. 重新启动克劳德桌面。

  2. 问克劳德这样的问题:

    显示我当前的CPU使用情况。

如果您的MCP服务器运行正常,Claude将调用 get_cpu_usage 工具并显示结果。


🧪 示例提示

提示 描述
“显示我当前的CPU使用情况。” 调用 get_cpu_usage
“检查内存使用统计数据。” 调用 get_memory_usage
“按CPU使用率列出前5个进程。” 调用 list_processes
“使用PID 1234终止进程。” 调用 kill_process
“列出~/Documents中的文件。” 调用 list_files

🛠️ 开发说明

  • 每个MCP工具都已注册 mcp.AddTool().
  • 返回的数据是人类可读的文本和结构化的JSON。
  • server.Run(ctx, &mcp.StdioTransport{}) 确保克劳德可以通过stdio进行通信。

🧠 故障排除

如果您在日志中看到此错误:

spawn ./system-monitor-mcp-go ENOENT

这意味着克劳德找不到二进制文件。
✅ 通过确保二进制文件存在并具有执行权限来修复它:

chmod +x ./system-monitor-mcp-go

或者在配置文件中指定完整路径。


🧑‍💻 作者

钦迈·乔杜里
在Go中构建应用AI系统和后端工具。


🪪 许可证

麻省理工学院许可证©2025 Chinmay Chaudhari