System-Monitoring-MCP

BrawlerXull/System-Monitoring-MCP

3.2

If you are the rightful owner of System-Monitoring-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The System Monitor MCP Server is a Go-based application designed to provide system monitoring, control, and automation tools, seamlessly integrating with Claude Desktop or any other MCP-compatible client.

Tools
10
Resources
0
Prompts
0

🖥️ System Monitor MCP Server (Go)

A Model Context Protocol (MCP) server written in Go that provides system monitoring, control, and automation tools — designed to integrate seamlessly with Claude Desktop or any other MCP-compatible client.


🚀 Features

CategoryToolsDescription
System Monitoringget_cpu_usageReturns average CPU usage (%)
get_memory_usageShows total, used, free, and usage %
get_network_statsDisplays bytes sent/received by each interface
get_battery_statusReports charge level and state of all batteries
get_gpu_usageFetches GPU info via macOS system_profiler
get_system_infoGives OS, uptime, memory, and disk usage summary
Process Controllist_processesLists top N processes by CPU usage
kill_processTerminates a process by PID
launch_processLaunches a command or application
File Systemlist_filesLists files in a specified directory

🧰 Requirements

  • Go 1.22+
  • macOS or Linux (for system_profiler or compatible commands)
  • Claude Desktop (for MCP integration)
  • Dependencies:
    go get github.com/modelcontextprotocol/go-sdk/mcp
    go get github.com/shirou/gopsutil/v3
    go get github.com/distatus/battery
    

⚙️ Installation

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

🧩 Integration with Claude Desktop

  1. Open your Claude Desktop config (usually at ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. Add this under mcpServers:
{
  "mcpServers": {
    "system-monitor": {
      "command": "/Users/chinmaychaudhari/Documents/coding/golang-mcp/system-monitor-mcp-go",
      "args": [],
      "cwd": "/Users/chinmaychaudhari/Documents/coding/golang-mcp"
    }
  }
}
  1. Restart Claude Desktop.

  2. Ask Claude something like:

    Show my current CPU usage.

If your MCP server is running correctly, Claude will invoke the get_cpu_usage tool and display the result.


🧪 Example Prompts

PromptDescription
"Show my current CPU usage."Calls get_cpu_usage
"Check memory usage stats."Calls get_memory_usage
"List top 5 processes by CPU usage."Calls list_processes
"Kill process with PID 1234."Calls kill_process
"List files in ~/Documents."Calls list_files

🛠️ Development Notes

  • Each MCP tool is registered with mcp.AddTool().
  • Data returned is both human-readable text and structured JSON.
  • server.Run(ctx, &mcp.StdioTransport{}) ensures Claude can communicate via stdio.

🧠 Troubleshooting

If you see this error in logs:

spawn ./system-monitor-mcp-go ENOENT

It means Claude can’t find the binary.
✅ Fix it by ensuring the binary exists and has execute permissions:

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

Or specify the full path in your config file.


🧑‍💻 Author

Chinmay Chaudhari
Building applied AI systems and backend tools in Go.


🪪 License

MIT License © 2025 Chinmay Chaudhari