A Java-based MCP (Model Context Protocol) server implementation using Spring Boot that enables registration and invocation of AI tools through HTTP endpoints
This server has critical definition gaps. All 4 tools lack parameter descriptions entirely, a hard blocker per the rubric. Tool descriptions are minimal (10-20 chars), hitting the floor for description scoring. Schemas are present but sparse: 'greet' and 'listOrders' have empty property objects (no params documented), while 'echo' and 'getOrder' have single params with types but no descriptions. No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint, etc.). The codebase shows annotation infrastructure (@AiTool) but it's not being leveraged for parameter documentation. This is a skeleton implementation.
Echoes the provided message back
Returns a single order by its ID
Returns a fixed greeting
Returns all orders
All parameters lack descriptions. 'message' in echo, 'orderId' in getOrder have no description text. LLMs cannot infer parameter meaning from names alone.
Tools 'greet' and 'listOrders' have empty input schemas (no properties defined). Even if they take no params, this should be explicit in the schema and documented.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract data without knowing what fields to expect.
Tool descriptions are 10-20 characters ('Returns a fixed greeting', 'Echoes the provided message back'). Below the 34-char p10 baseline. Lack context for LLM selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
No error handling guidance. No recovery hints, categorization (retryable/user-fixable), or actionable error messages defined.