A Spring Boot-based MCP (Model Context Protocol) server that automatically discovers and exposes REST endpoints as MCP tools through introspection
This server has severe definition quality gaps. Only 2 tools are defined, both with minimal descriptions (under 50 chars). The executeTool schema is present but parameters lack descriptions, the 'parameters' field is documented only as 'Parameter name and value pairs for the tool', which is too vague. No output schemas are documented. Error handling is minimal (generic RuntimeException). The tool definitions appear to be meta-tools (listTools, executeTool) rather than domain-specific tools, which is unusual for an MCP server. No tool annotations (readOnlyHint, destructiveHint) despite executeTool being a WRITE operation.
Executes a specified MCP tool with provided parameters
Lists all available MCP tools discovered from REST endpoints
Parameter descriptions missing or trivial. 'executeTool' has a 'parameters' field described only as 'Parameter name and value pairs for the tool', this is too generic and does not guide LLM usage.
No output schemas documented. Neither tool specifies what fields or structure the response contains. LLMs cannot plan downstream calls or extract data without knowing the response shape.
Tool descriptions are too short (under 50 chars). 'Lists all available MCP tools discovered from REST endpoints' and 'Executes a specified MCP tool with provided parameters' lack context on WHEN to use each tool or what they return. Baseline is 194 chars; these are 25% of that.
No tool annotations. executeTool is a WRITE operation (modifies state via reflection invocation) but lacks destructiveHint or idempotentHint. Agents cannot determine if the tool is safe to retry.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | <=2025-11-25 | v2 |
Error handling is minimal and non-actionable. RuntimeException with a generic message does not guide the LLM on recovery.