Sysmetrics
About
Give your self-hosted agents 'situational awareness.' This MCP server provides a direct interface for agents to query Linux system telemetry, enabling autonomous resource monitoring, proactive alerting, and interactive troubleshooting via any MCP-compatible client.
Details
- Author
- raythurman2386
- Categories
- Other, Developer Tools
Jump to
Setup
Install Sysmetrics in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/raythurman2386/sysmetrics-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
A lightweight MCP (Model Context Protocol) server that exposes Linux system metrics through MCP tools. Works on any Linux system including Raspberry Pi.
- 19 MCP Tools: System info, CPU, memory, disk, disk I/O, network, network connections, processes, thermal, Docker, system health, service status, plus monitoring and alerting tools
- MCP Resources: Subscribablesys://metrics/resources for proactive state reads
- MCP Prompts:analyze_system_healthanddiagnose_performance_issueprompt templates
- Streaming Metrics: Delta-based throughput sampling (network bytes/s, disk IOPS/bytes/s) and history
- Threshold Alerting: Background monitoring that generates warning/critical alerts on resource saturation
- Configurable: CLI arguments for temperature units, process limits, mount points, and interfaces
- Cross-Platform: Works on any Linux system (enhanced metrics for Raspberry Pi)
- AI-Ready: Designed for integration with Claude Desktop, Cursor, or any MCP client
- Go 1.25.6 or higher
- Linux system (tested on Ubuntu, Debian, Raspberry Pi OS)
The project uses aMakefilefor common tasks.
git clone <repository> cd sysmetrics-mcp make build
The compiled binary will be located inbin/sysmetrics-mcp.
# Option 1: System-wide (installs to /usr/local/bin) sudo make install # Option 2: User-local mkdir -p ~/.local/bin cp bin/sysmetrics-mcp ~/.local/bin/ # Add to PATH if not already: export PATH="$HOME/.local/bin:$PATH"
Local AI Agents (Gemini CLI / Personal Agents)
Add to your agent's configuration file:
{ "sysmetrics": { "type": "stdio", "command": "sysmetrics-mcp", "args": [ "--temp-unit", "celsius", "--max-processes", "10" ] } }
Returns system information including hostname, OS, uptime, and platform details.
Returns CPU usage, temperature, core count, and load average.
Returns RAM and swap usage statistics with both bytes and human-readable formats.
Returns disk usage for all or specified mount points.
- mount_points: Comma-separated mount points to check
- human_readable: Include human-readable sizes (default: true)
Returns network interface statistics including bytes sent/received and IP addresses.
- interfaces: Comma-separated interface names to check
Returns list of running processes sorted by resource usage.
- limit: Maximum number of processes (1-50)
- sort_by: Sort bycpu,memory, orpid(default:cpu)
Returns thermal status including CPU/GPU temperatures and throttling information (Raspberry Pi).
Returns disk I/O statistics including read/write throughput, IOPS, and I/O time per device.
- devices: Comma-separated device names to check (e.g.sda,nvme0n1)
Returns an aggregated health dashboard with CPU, memory, disk, and uptime. Includes an overall status ofhealthy,warning, orcriticalbased on resource thresholds.
Returns Docker container metrics including CPU and memory usage via cgroups. Returns an empty list gracefully if Docker is not available.
- container_id: Filter to a specific container by ID or name
Returns active TCP/UDP network connections with local/remote addresses, status, and owning PID.
- kind: Connection type filter (tcp,udp, orall; default:all)
- status: Filter by connection status (e.g.LISTEN,ESTABLISHED)
Returns systemd service health information viasystemctl show.
- services: Comma-separated list of service names to check
Starts background sampling of system metrics. Once running, the server retains a history buffer and evaluates resource thresholds to generate alerts.
- interval: Sampling interval in seconds (defaults to--monitor-interval)
Returns whether monitoring is running, the aggregate health status, and the latest snapshot.
Returns recent metric snapshots captured by the monitor.
- seconds: Only return snapshots captured within the last N seconds
Returns threshold alerts generated since the last read (read-then-drain).
- severity: Filter bywarningorcritical
Returns per-interface network throughput rates (bytes/sec) since the last sample.
Returns per-device disk I/O throughput rates (bytes/sec and IOPS) since the last sample.
The server exposes subscribable resources under thesys://metrics/namespace so clients can read current state without issuing a tool call:
- analyze_system_health— gathers and summarizes overall system health.
- diagnose_performance_issue— diagnoses a reported performance problem by checking CPU, memory, disk, network, and top processes.
Once configured, you can ask your AI assistant:
- "What's my CPU temperature?"
- "Show me disk usage for / and /home"
- "List the top 5 processes by memory usage"
- "What's my network usage on eth0?"
- "Check if my Raspberry Pi is throttling"
- "What's the overall health of my system?"
- "Show me active TCP connections in LISTEN state"
- "Check if the SSH and Docker services are running"
- "What are the disk I/O stats for my drives?"
- "How much CPU and memory are my Docker containers using?"
- "Start monitoring every 2 seconds and alert me if CPU is high"
- "Show me disk throughput over the last minute"
- "Are there any recent resource warnings?"
On Raspberry Pi systems, the server provides additional metrics:
- CPU Temperature: Reads from/sys/class/thermal/thermal_zone0/temp
- GPU Temperature: Usesvcgencmd measure_temp
- Throttling Status: Usesvcgencmd get_throttledto detect:
On non-Pi systems, these metrics return"not_available"gracefully.
Use the includedMakefilefor development tasks:
# Run tests make test # Run linter (go vet) make lint # Clean build artifacts make clean # Download and tidy dependencies make deps
- Go 1.25.6+
- Linux system
- For Pi features: Raspberry Pi OS withvcgencmdavailable
A mcp to get all the Colombian legal information.
Creates commit messages from staged files in a local git repository.
Anchor is local repo and org memory for AI coding agents. It indexes GitHub PR history, current code, tests, regressions, architecture, and cross-repo impact locally, then exposes concise cited context through MCP and CLI workflows. Local-first. Read-only GitHub access. No CLI telemetry. No SaaS. No remote LLM calls.
An MCP server that equips your AI coding assistant with live, verified Android knowledge — so it builds from official sources, not from memory.
An MCP server for interacting with the AtomGit API for version control and code hosting.
Design system MCP server — query tokens, components, icons, and WCAG contrast data from Git-backed design systems.
Provides code context from local git repositories.
Local-first documentation for AI agents. Indexes docs from any git repo into SQLite for offline, instant, private access to up-to-date library documentation.
DOS is a small open-source kernel that doesn't believe your AI agents: it verifies what actually shipped from git evidence, arbitrates file collisions between parallel agents, and refuses with structured reasons.
Prevents regression by providing Blast Radius data to AI based on your git history
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





