Real-time system state reporter with MCP server support for CPU, memory, disk, network, packages, services, security, hardware, and issue detection
14 tools with consistent verb-noun naming (get_*, stream_*) and clear descriptions (avg ~120 chars). All tools are READ_ONLY with no state-modifying operations. Input schemas present for most tools with parameter descriptions. However, schemas lack formal type constraints (enums, min/max bounds), output schemas are not documented, and parameter descriptions are minimal (10-30 chars). No error handling guidance, no pagination support despite tools returning potentially large datasets, and no tool annotations (readOnlyHint, etc.). Composition is sound, each tool has one responsibility, but output chaining is not documented.
Get filesystem usage information including size, used, free space, and inode usage.
Get Docker container and image information including running/stopped containers, images, and disk usage.
Get GPU information including temperature, utilization, and memory usage for NVIDIA, AMD, or Intel GPUs.
Get hardware health including battery status/health, temperature sensors, and crash reports.
Get detected system issues with severity levels. Returns problems found during system analysis with recommended fixes.
Get log analysis for the last 24 hours including error counts, OOM events, kernel panics, and top error patterns.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure. No documentation of what fields each tool returns.
Input parameter descriptions are minimal (10-30 chars). 'Filter by severity level: critical, warning, or info' is good, but most tools lack actionable guidance on expected formats, ranges, or constraints. Parameter descriptions should be 50-150 chars with examples of valid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Get network interface status, IP addresses, listening ports, and connectivity information.
Get APT package status including available updates, security updates, broken packages, and held packages.
Get security status including firewall state, SSH status, failed login attempts, and open ports.
Get systemd service status including failed units, zombie processes, and top CPU/memory consuming processes.
Get Snap package information including installed snaps, disk usage, and pending refreshes.
Get CPU, memory, swap, load average, and uptime information.
Get complete system state report including CPU, memory, disk, network, packages, services, security, hardware, and detected issues. This is the most comprehensive tool - use it when you need a full system overview.
Stream system report data as each collector completes. Returns JSONL format (one JSON object per line) for real-time data as collectors finish.
No enum constraints on string parameters. 'severity' in get_issues should declare enum: ['critical', 'warning', 'info']. 'collectors' in stream_system_report should declare enum with all valid collector names. Free-form strings invite hallucinated values.
No pagination or result limits documented. Tools like get_system_report, get_issues, get_log_info may return large datasets. No limit parameter, no offset/page support, no total_count in response. Large results blow context windows.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. LLMs cannot self-correct or know whether to retry, ask the user, or abort.