A Spring Boot MCP server that provides tools for managing and retrieving course information, integrated with Claude AI
Two tools with minimal definitions. Both have verb-noun naming (get_*), but descriptions are extremely short (18-20 chars, well below the 34-char p10 baseline). No parameter descriptions visible for get_course_by_title's 'title' param. No output schemas documented. No error handling guidance. Tool definitions appear inferred from Spring-AI annotations rather than explicitly visible in source. This server lacks the rigor expected of production tools.
Get all courses of ProfessorMohamed Youssfi
Get a course by title ofProfessor Mohamed Youssfi
Descriptions critically short (18-20 chars vs 34-char baseline p10). 'Get all courses of ProfessorMohamed Youssfi' and 'Get a course by title ofProfessor Mohamed Youssfi' lack context for LLM tool selection. No WHEN/WHY guidance.
No parameter descriptions visible. 'title' parameter in get_course_by_title has type 'string' but no description explaining format, constraints, or examples. LLM cannot infer valid input.
No output schemas documented. LLM does not know what fields to expect from responses (course structure, fields returned, pagination). Blocks downstream tool chaining.
Tool definitions inferred from Spring-AI framework annotations, not explicitly visible in source code. Cannot verify actual schema registration, error handling, or output structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If a course is not found or the service fails, LLM receives no actionable error message or next steps.