A Spring Boot application demonstrating MCP (Model Context Protocol) server implementation with tool registration
Single tool with minimal definition quality. Tool 'getCurrentDateTime' has a basic description but NO visible input schema in the source code. The tool is registered via Spring AI's ToolCallbacks.from() reflection mechanism, which means the schema is inferred from the method signature rather than explicitly defined. Per HARD SCORING RULES, inferred tool definitions cap at 50 overall; combined with missing schema documentation and lack of parameter descriptions, this server scores poorly. No error handling guidance, no output schema documentation, and no security considerations visible.
Get the current date and time
No explicit input schema visible. Tool definition inferred from Spring AI reflection (ToolCallbacks.from), not explicitly registered with JSON Schema. Per HARD SCORING RULES, inferred definitions cap at 50.
Tool description is 27 characters ('Get the current date and time'). Lacks context on WHEN to use it, WHAT it returns, and any prerequisites. Baseline for A+ tools is 50-200 chars with explicit return type documentation.
No output schema documented. LLMs cannot plan downstream tool calls or extract fields without knowing the response structure (e.g., does it return ISO 8601 string, Unix timestamp, or structured object with date/time fields?).
No error handling guidance. Tool provides no recovery hints if it fails (e.g., timezone issues, system clock problems). LLM has no actionable next step on error.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Tool is READ_ONLY but lacks explicit idempotentHint annotation in schema. Modern MCP spec (2026-07-28) expects tool annotations (readOnlyHint, destructiveHint, idempotentHint) for agent planning.