A Spring Boot MCP (Model Context Protocol) server implementation using Spring AI
This server has only 1 tool (healthy) with severe definition quality gaps. The tool lacks meaningful parameters (empty input schema), has a generic description that is too short (27 characters in Chinese, translates to ~15 chars in English: 'Health check for MCP connection'), and provides no schema documentation for output. The description violates the 10-1024 character baseline (too short). No parameter descriptions exist. The tool name 'healthy' is not verb-prefixed per production standards (should be 'check_health' or 'get_health_status'). Output is a JSON string with no schema. Error handling is absent, no guidance on what 'online' state means or what to do on failure. This is a skeleton implementation unsuitable for production.
用于mcp连接的健康检查
Tool name does not start with action verb. 'healthy' is an adjective; should be 'check_health', 'get_health_status', or 'verify_connection'.
Input schema is completely empty ({}). No parameters defined or documented. While this may be intentional for a zero-argument tool, there must still be explicit JSON Schema declaration with properties object.
Tool description is only 27 characters (Chinese) or ~15 chars (English translation 'Health check for MCP connection'). Violates baseline of 10 - 1024 chars; too short to provide context for LLM tool selection. No mention of when to use, what it returns, or what 'online' state means.
Output schema is not documented. The tool returns a JSON string ('{"state":"online"}') but there is no schema definition in code or comments. LLMs cannot infer the structure or plan downstream calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 8 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 21 | - | v1 |
No error handling or recovery guidance. Tool always succeeds with a hardcoded 'online' response. No indication of failure modes, timeouts, or what LLM should do if health check fails.
Tool is READ_ONLY but has no risk annotation or idempotent hint in the code. While the @McpTool annotation exists, there is no use of Spring AI MCP toolAnnotations or explicit indication of safety properties.