mcp-system-monitor
A Model Context Protocol (MCP) server implementation designed for AI agents to monitor and interact with Linux servers (Ubuntu, CentOS, RedHat, etc.). This server provides comprehensive system information including CPU, memory, disk, network, and process data through both MCP protocol and HTTP REST API
claude mcp add --transport stdio darkphilosophy-mcp-system-monitor cargo run --release \ --env RUST_LOG="info" \ --env HTTP_PORT="57996" \ --env SERVER_PORT="57996" \ --env MCP_ENDPOINT="http://localhost:57996/"
How to use
The MCP System Monitor server provides both an MCP protocol interface and an HTTP REST API to gather and inspect Linux system metrics. It exposes data such as host information, CPU usage and frequency, memory and swap utilization, disk usage, network interface statistics, and process details. Clients can interact with the MCP protocol to request structured, JSON-RPC style responses, or use the HTTP endpoints for quick health checks and targeted data retrieval (e.g., /api/system/info, /api/system/cpu). The REST API is designed to be friendly for AI agents and automation scripts, enabling remote monitoring and basic management tasks through standard HTTP calls.
How to install
Prerequisites:
- A Linux server (Ubuntu/Debian, CentOS/RHEL, or compatible)
- Rust and Cargo installed (Rust 1.70+)
- Basic build tools (gcc, musl, etc. as required by Rust toolchain)
Installation steps:
-
Clone the repository and navigate into it: git clone https://github.com/DarkPhilosophy/mcp-system-monitor.git cd mcp-system-monitor
-
Build the project in release mode: cargo build --release
-
Run the server (production): cargo run --release
-
Verify the service is up (default port 57996 as per repository defaults): curl http://localhost:57996/health curl http://localhost:57996/api/system/info
Notes:
- The server includes both MCP protocol handling (JSON-RPC) and HTTP REST endpoints. Ensure your environment allows inbound connections on 57996 (or the port you configure via environment variables).
- If you need to adjust the port, set SERVER_PORT or HTTP_PORT to your desired value before starting the server.
- For system security, consider adding reverse proxy authentication or API keys for the HTTP endpoints in production.
Additional notes
Tips and common issues:
- Port confusion: The MCP server publishes on 57996 by default in this project. If you already run a server on that port, change SERVER_PORT/HTTP_PORT accordingly.
- Environment variables: You can customize the port and API URL using SERVER_PORT, HTTP_PORT, and MCP_ENDPOINT.
- Data sources: The server reads data from Linux procfs and standard system commands; ensure these tools are available and permitted for the running process.
- OpenCode integration: If using with tooling like OpenCode, ensure the MCP endpoint URL matches your deployed address and that health checks pass before enabling remote clients.
Related MCP Servers
bridle
TUI / CLI config manager for agentic harnesses (Amp, Claude Code, Opencode, Goose, Copilot CLI, Crush, Droid)
okta
The Okta MCP Server is a groundbreaking tool built by the team at Fctr that enables AI models to interact directly with your Okta environment using the Model Context Protocol (MCP). Built specifically for IAM engineers, security teams, and Okta administrators, it implements the MCP specification to help work with Okta enitities
zerodha
Zerodha MCP Server & Client - AI Agent (w/Agno & w/Google ADK)
symfony
A Symfony package designed for building secure servers based on the Model Context Protocol, utilizing Server-Sent Events (SSE) and/or StreamableHTTP for real-time communication. It offers a scalable tool system tailored for enterprise-grade applications.
mcp-framework
Rust MCP framework for building AI agents
mcp
✨ MCP Server for Effortless Dependency Updates