A Spring Boot-based MCP server that provides system information tools including memory, CPU, disk, and Java runtime details
This server has 4 tools with basic descriptions but critical gaps in schema documentation and parameter descriptions. All tools lack input parameter descriptions in the schema, only the @ToolParam annotation provides minimal guidance. No output schemas are documented. Tool names follow verb_noun convention (good), but descriptions are generic and lack context about when to use each tool. No error handling guidance, no pagination support, and no structured output documentation. This is a typical community server with functional tools but insufficient LLM-optimization.
Get CPU and system information
Get disk space information for a specific path
Get Java runtime information
Get memory information (free, total, used in MB)
No output schemas documented. Tools return unstructured strings; LLMs cannot plan downstream calls or extract structured data. Pattern requires documented return types for all tools.
Parameter descriptions missing from schema. getDiskInfo has a 'path' parameter with no description in the JSON Schema, only @ToolParam annotation provides guidance. LLMs cannot reliably infer expected format (Windows vs Unix paths, absolute vs relative).
Tool descriptions are generic and lack context. 'Get memory information' does not explain when to call this vs getCpuInfo, what units are returned, or whether values are real-time or cached. Descriptions should be 50-200 chars and answer WHAT, WHEN, and WHAT-RETURNS.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. If getDiskInfo receives an invalid path, the tool will fail silently or throw an exception. No recovery hints for the LLM (e.g., 'Path not found. Try / or C:\\').
No input validation or constraints. getDiskInfo accepts any string as 'path' with no format validation, length limits, or security checks. Agents could pass malicious paths or cause errors.