A collection of Spring Boot applications demonstrating Spring AI integration with various features including tool calling, RAG, memory management, and MCP client support
This is a Spring-AI multi-project repository, NOT an MCP server. The codebase uses Spring-AI framework (OpenAI integration) for tool calling within Spring Boot applications, not the Model Context Protocol. Tool definitions are inferred from Java class names and method signatures, not explicitly registered via MCP. No MCP transport layer detected. Tool descriptions are minimal (10-20 chars), parameters lack type constraints, and no output schemas are documented. This fails the fundamental requirement: it is not an MCP server at all.
This tools helps to create new ticket in database
Get the current date and time in users zone
This tools helps to get ticket details by email from database
Get weather information of the given city.
This tools helps to send email to support team
Set the alarm for given time.
This tools helps to update ticket details in database
Not an MCP server. This is a Spring-AI application repository using Spring Boot for tool calling, not the Model Context Protocol. No MCP transport, no MCP tool registration, no MCP protocol compliance.
Tool descriptions are critically short (10-20 chars). Rubric requires 10-1024 chars; descriptions under 20 chars score 0-20. Examples: 'This tools helps to send email to support team' (47 chars, acceptable) but others like 'Get weather information of the given city.' (43 chars) lack context on WHEN to use vs similar tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 22 | 2026-07-28+ | v2 |
Parameter descriptions are missing or trivial. 'ticket' parameter in createTicketTool and updateTicket has only 'Ticket fields required to create new ticket', no schema of what fields are required, no format guidance, no validation rules. LLMs cannot infer structure.
No output schemas documented. Tools return unspecified results. LLMs cannot plan downstream calls or extract required fields. Rubric requires 100% of A+ tools to have documented return types.
No error handling guidance. Tools provide no recovery hints, error classification, or actionable messages. If getTicketByUserName fails, LLM has no guidance on whether to retry, ask user, or try a different approach.