MCP server providing system monitoring and diagnostics to Claude
Server provides 5 well-named, read-only monitoring tools with clear descriptions (avg 85 chars) and structured schemas. All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict response structure for planning. Error handling is minimal (generic try-catch blocks with no recovery guidance). Parameters lack constraints (e.g., limit has no min/max bounds). No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. Naming is strong (verb_noun pattern), but schema completeness and error guidance are weak.
Get status of Docker containers (if Docker is available)
Get active network connections and listening ports
Get recent system logs from journalctl (Linux only)
Get current CPU, memory, and disk usage statistics
List running processes with CPU and memory usage, sorted by resource consumption
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning or field extraction. Responses are complex objects with nested CPU/memory/disk/system fields, but no schema is provided.
Numeric parameters (limit, lines) lack min/max bounds. LLMs can pass unbounded values (e.g., limit=999999) causing performance issues or timeouts. No constraints in schema or descriptions.
Error handling is generic. Catch blocks throw 'Failed to fetch X: {error.message}' with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal. No actionable error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Tool annotations missing. All 5 tools are read-only and idempotent, but no readOnlyHint or idempotentHint is declared. LLMs cannot infer safety properties and may treat them as stateful.
get_system_logs description does not mention Linux-only limitation upfront. Parameter descriptions lack format hints (e.g., 'unit' should document systemd unit naming convention).