system-monitor
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@system-monitorshow me current CPU and memory usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🛡️ System Status & Config MCP Server (Agentic AIOps)
The ultimate "eyes and ears" for your AI assistants. Give LLMs (like Claude, Cursor, or your autonomous agents) safe, read-only, and token-optimized access to your server's physical reality.
🌟 Why This Exists?
Large Language Models (LLMs) possess vast knowledge of system administration, architecture, and debugging. However, they suffer from a "reality gap" — they know how to fix an OOM error, but they don't know your server's RAM usage, your active configuration paths, or your current logs.
If you give an AI raw shell access (bash), it is extremely dangerous (e.g., accidental rm -rf or crashing the server by catting a 50GB log file).
This MCP (Model Context Protocol) Server solves this by acting as a Secure, Read-Only Abstraction Layer. It empowers AI to perform sub-second, cross-platform infrastructure audits and root-cause analysis without risking system integrity.
Related MCP server: GhostInTheShell MCP
🚀 Core Features
1. 📊 High-Concurrency System Probes (get_system_status)
Gathers real-time OS metrics across 17 distinct categories (CPU, Memory, Docker, Network, Processes, Windows WMI internals, etc.).
Smart Concurrency: Windows WMI/CIM queries are executed in parallel (
Promise.all), reducing response times from seconds to ~200ms.Cross-Platform: Normalizes complex metrics across Linux, macOS, and Windows into clean JSON.
2. 🔍 Intelligent Config Radar (discover_configs)
AI doesn't need to guess where your config files are.
Auto-locates 36+ well-known services (Nginx, Redis, SSH, WSL, VSCode, Git, etc.).
Directory Sniffing: Point it to a project directory (
directory: "/path/to/project"), and it will automatically detect hidden.files and configuration extensions (.yaml,.ini,.env).
3. 🧠 Token-Optimized Config Reader (read_config)
Reads and parses structured configurations (JSON, YAML, INI, TOML, etc.).
keys-onlyMode: Designed specifically for LLMs. If an AI needs to read a massivepackage-lock.json, this mode strips out heavy values and returns only the structural schema (e.g., replacing arrays with[Array of 8 items]), saving tens of thousands of tokens while preserving context.
4. 🛡️ Safe Log Tailing (read_log)
A purpose-built, high-performance log analyzer.
Reverse Chunk Reading: Directly reads 64KB chunks from the end of the file backwards. Never loads the entire file into memory (OOM-safe).
Native Grep: Search for keywords (e.g.,
grep: "ERROR") across massive log files.Circuit Breakers: Hard-capped at 1000 lines and a 10MB backwards-search limit to protect the Node.js event loop during high CPU loads.
🛠️ Installation & Setup
Prerequisites
Node.js >= 18.x
TypeScript installed globally or locally
Build from source
# Clone the repository
git clone https://github.com/yourusername/system-status-mcp.git
cd system-status-mcp
# Install dependencies
npm install
# Build the project
npm run buildUsage with Claude Desktop
Add the following configuration to your Claude Desktop claude_desktop_config.json:
Windows (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"system-monitor": {
"command": "node",
"args": ["D:/Project/MCP/status/dist/index.js"]
}
}
}macOS/Linux (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"system-monitor": {
"command": "node",
"args": ["/path/to/system-status-mcp/dist/index.js"]
}
}
}🧰 Available MCP Tools
Tool Name | Description | Key Arguments |
| Retrieve system metrics. |
|
| Scan for known configs or project dotfiles. |
|
| Parse a specific config file. |
|
| Safely tail and grep massive log files. |
|
🏗️ Architecture & Safety Highlights
Embedded Error Reporting: Instead of failing silently or returning
500 Internal Error, the server captures explicit filesystem errors (EACCES,ENOENT) and PowerShell timeouts, embedding them directly into the JSON response (e.g.,{ "_error": "Permission denied" }). This allows the AI to autonomously adjust its strategy (e.g., asking the user forsudoprivileges).Graceful Timeouts: All heavy subprocess executions (like Windows WMI) are strictly timed out at 15 seconds. If the CPU is pegged at 99%, the MCP server will gracefully report timeout failures rather than hanging the AI indefinitely.
Built for the Agentic Era. Open-sourced under the ISC License.
Available Tools
4 toolsdiscover_configsA
Scan the system for known service configuration files (nginx, mysql, redis, docker, sshd, etc.), or scan a specific directory for project-level config files (like .env, .npmrc, *.json). Returns a list of detected config files with their paths, sizes, and last modified times.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Optional. Filter by service name (e.g. 'nginx', 'mysql', 'redis', 'docker', 'sshd'). | |
| directory | No | Optional. Provide an absolute path to a directory (e.g. a project folder) to scan for local configs. |
get_system_statusA
Get comprehensive system status for production server monitoring. Covers performance metrics, hardware specs, software environment, storage & disk I/O, network traffic & connections, running processes, systemd services, Docker containers, CPU/GPU temperatures, logged-in users, security posture (open ports), displays, battery, and peripherals. Use 'overview' for a quick health snapshot, or specify a category for deep details.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Category to query. 'all' returns everything (slow). 'overview' returns a lightweight server health snapshot (recommended for quick checks). 'windows' returns Windows-specific details (version, build, optional features, virtual memory, activation). Other options: performance, hardware, software, storage, network, processes, services, docker, temperature, users, security, displays, battery, peripherals, windows. |
read_configA
Read and parse a specific service configuration file. Supports JSON, YAML, INI, TOML, env, nginx conf, sshd_config, sysctl, crontab, hosts, fstab, resolv.conf, and more. You can specify either a service name (e.g. 'nginx') to auto-locate the config, or provide a direct file path for custom configs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Direct absolute path to a config file. Use this for custom configs not in the known list. If both 'service' and 'path' are provided, 'path' takes priority. | |
| format | No | Optional format hint. If omitted, the format is auto-detected from the file extension. Use 'raw' to get unprocessed file content. | |
| service | No | Service name to read config for (e.g. 'nginx', 'mysql', 'redis', 'sshd', 'docker', 'hosts', 'fstab'). The tool will auto-locate the config file. Available services: nginx, apache, caddy, traefik, haproxy, mysql, postgresql, redis, mongodb, elasticsearch, rabbitmq, memcached, docker, docker-compose, containerd, kubernetes-kubelet, sshd, ssh-client, fail2ban, ufw, sysctl, fstab, hosts, resolv, crontab, logrotate, limits, supervisord, pm2, php-fpm, gunicorn, prometheus, grafana, rsyslog, bind, wsl, windows-terminal, vscode, npm, ssh-user, bash-profile | |
| maxSizeKB | No | Maximum file size to read in KB. Default: 512. Increase for large configs. | |
| compactMode | No | Optional token-saving mode. Use 'keys-only' for huge JSON/YAML files to only return the schema/structure without all the values. Great for AI context saving. |
read_logA
Safely read the end of a log file (tail), optionally filtering by a keyword (grep). Extremely efficient for huge log files as it reads backwards from the end without loading the whole file into memory. Use this instead of read_config for files like /var/log/syslog, nginx access logs, or any file that could be massive.
| Name | Required | Description | Default |
|---|---|---|---|
| grep | No | Optional keyword to filter lines. Only lines containing this keyword (case-insensitive) will be returned. | |
| path | Yes | Absolute path to the log file (e.g. '/var/log/syslog', 'C:\logs\error.log'). | |
| lines | No | Number of lines to read from the end. Default is 100. Max is 1000. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.0- First observed
discover_configs - First observed
get_system_status - First observed
read_config - First observed
read_log
TDQS
Scored across 4 tools
The four tools are mostly distinct: status monitoring, config discovery, config reading, and log reading. However, read_config and read_log could cause confusion (both deal with reading files), and discover_configs could be seen as overlapping with read_config since both touch config files. The descriptions clarify boundaries well, but the similar purposes create minor ambiguity.
Tools follow a mostly consistent verb_noun pattern (get_system_status, discover_configs, read_config, read_log). All use snake_case with imperative verbs. The inconsistency is that get_system_status uses a 3-word name while others use 2-word names, and 'discover' vs 'read' vs 'get' are slightly different verb styles for similar actions.
Four tools is on the lower end but reasonable for a focused system-monitoring server. It covers status, config discovery, config reading, and log reading - a coherent but slightly thin set. One or two more tools (e.g., executing commands, managing services) could round out the surface.
The server covers monitoring (status), config exploration (discover/read configs), and log inspection (read_log). However, it lacks write-capabilities entirely - there's no way to modify configs, restart services, or send commands, which feels like a notable gap for a system-monitor. Additionally, there's no tool for managing processes or services beyond reading, only observing them.
Maintenance
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server for auditing AI agent permissions and access by scanning for the trifecta of credentials, injection, and reach without heavy infrastructure.-
- AlicenseNot gradedqualityDmaintenanceA sandboxed, read-only MCP server that safely exposes system metrics, container diagnostics, and logs to AI agents with intelligent context compression and strict security measures.MIT
- FlicenseNot gradedqualityBmaintenanceA read-only MCP server that gives Claude Code secure, non-invasive access to infrastructure logs, service status, metrics, Ansible facts, and Docker state via SSH, with a strict command allowlist and no write operations.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to safely explore and diagnose remote servers by providing a read-only sandbox with controlled access to files, logs, Docker, and databases. It exposes MCP tools that allow natural-language investigation and direct command execution without write permissions.4-