An MCP server that provides system benchmarking tools for CPU, memory, I/O performance testing and system information retrieval.
All 4 tools have basic schemas and descriptions, but quality is below production baseline. Descriptions are minimal (34-72 chars, below the 194-char average for A+ tools). All tools have empty input schemas (no parameters), which is appropriate for their design but limits composability. No parameter descriptions exist (0% vs 100% baseline for A+ tools). No output schemas documented. Error handling is present but generic. Tool names follow verb_noun convention (positive), but descriptions lack WHEN/WHY context and don't explain state-modifying implications for run_io_benchmark.
Returns basic system hardware and OS information (OS, CPU cores, RAM).
Runs a lightweight CPU-bound task (prime calculation) and returns execution metrics.
Measures sequential file read/write speeds over a 50MB payload.
Measures memory allocation and modification speeds.
No output schemas documented. LLMs cannot plan downstream tool calls or extract structured data without knowing return field types and names.
Descriptions are 34-72 characters (below 194-char baseline for A+ tools). Lack WHEN/WHY context. E.g., 'Measures memory allocation and modification speeds' does not explain when to call this vs other benchmarks or what the output means.
run_io_benchmark creates and deletes a temporary file (state-modifying operation) but description does not declare this. Agents need to know which calls are safe to retry and which have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
All tools have empty input schemas (no parameters). While appropriate for this domain, this limits composability and prevents agents from customizing benchmark parameters (e.g., CPU limit, memory size, file size). Consider adding optional parameters for benchmark intensity.
Error handling returns generic JSON error objects without recovery guidance. E.g., 'I/O Benchmark failed: <error>' does not tell the LLM whether to retry, ask the user, or abandon the operation.