Spring Boot MCP Server for managing products
This server has critical definition gaps. Both tools have minimal descriptions (under 50 chars) and lack parameter descriptions entirely. The single_product tool accepts a 'title' parameter with no type annotation visible in the schema provided, and product_list has an empty input schema. No output schemas are documented. Tool names follow verb_noun convention (positive), but descriptions are too terse to guide LLM selection. No error handling, validation rules, or recovery guidance. The codebase shows Spring AI integration but tool definitions appear auto-generated from method signatures without explicit schema enrichment.
Get all Product
Get Product based on title
Tool descriptions are critically short (under 50 chars). 'Get Product based on title' and 'Get all Product' lack context for LLM selection, do not explain when to use each tool, and do not state what fields are returned.
No parameter descriptions. The 'title' parameter in single_product has no description explaining format, constraints, or examples. LLMs cannot infer whether to pass 'iPhone 15' or 'PROD-12345'.
No output schemas documented. Neither tool specifies what fields are returned (e.g., does product_list return [id, name, price, description]?). LLMs cannot plan downstream calls or extract required data.
product_list has empty input schema ({}). No pagination parameters (limit, offset, page_size) visible. Returning all products risks context window exhaustion and violates the pattern of capping results at 20-50 items.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If a product is not found or the API fails, there is no indication of what the LLM should do next (retry, search differently, ask user).