Privacy-first system metrics MCP server for AI coding assistants
Six tools with clear action verbs and privacy-focused descriptions. However, critical gaps undermine production readiness: (1) All tools have empty input schemas (no parameters documented despite is_system_busy accepting cpu_threshold and memory_threshold); (2) Parameter descriptions missing entirely, is_system_busy's thresholds lack units, ranges, or defaults; (3) No output schemas documented, callers cannot plan downstream operations; (4) Error handling absent, no guidance on failure modes or recovery; (5) Descriptions are adequate (100-150 chars) but lack WHEN/WHY context for LLM selection. Tools are read-only and safe, but schema incompleteness and missing parameter docs violate pattern:tool and pattern:tool-description baselines.
Get CPU usage percentage and logical core count.
Get disk usage: total, free bytes and usage percentage.
Get system load averages (1m, 5m, 15m), uptime, and process count.
Get memory usage: total, used, available bytes and usage percentage.
Get current system resource metrics. Returns only numerical values — no process names, file paths, usernames, or other personally identifiable information. Safe to share with AI assistants.
Quick check: returns whether the system is under heavy load. Useful for AI assistants to decide whether to run resource-intensive tasks.
All tools have empty input schemas ({}). is_system_busy declares cpu_threshold and memory_threshold parameters in the rubric but the schema shows no properties, parameter definitions are invisible to callers and LLMs cannot infer valid ranges or defaults.
No output schemas documented. Callers cannot plan downstream operations or extract specific fields. SystemMetrics struct exists in code but is never exposed in tool definitions, LLMs must guess field names and types.
is_system_busy parameters lack descriptions. cpu_threshold and memory_threshold have no units, ranges, or defaults documented. LLMs cannot determine valid values (0 - 100? 0 - 1? percentage or raw bytes?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error handling guidance. Tools provide no recovery hints for failure modes (e.g., permission denied on /proc, sysinfo failures). LLMs cannot self-correct or retry intelligently.
Tool descriptions lack WHEN/WHY context. 'Get CPU usage percentage' does not explain when to call get_cpu vs get_metrics, or what downstream decisions it enables. LLMs cannot distinguish between overlapping tools.