MCP server that returns time-based greetings in multiple languages (Japanese and English)
Single tool 'get_greet' has a complete input schema with proper type and description for the greet_language parameter. However, the tool description is minimal (11 words, 56 chars) and lacks context about when to use it, what it returns, or any prerequisites. No output schema is documented, the response structure is inferred from code but not formally declared. Parameter description is adequate but generic. The tool performs a simple, read-only operation with no error recovery guidance. Overall, this is a basic, functional definition that lacks the depth and LLM-optimization expected of production tools.
現在の時刻に応じた挨拶を返す
Tool description is too brief (56 chars, below 100-char minimum). Lacks context on when to use, what it returns, and any prerequisites. LLMs cannot reliably select this tool without richer guidance.
Output schema is not documented. Response structure (content array with type and text fields, isError flag) is inferred from code but not formally declared in the tool definition. LLMs cannot plan downstream operations without knowing the response shape.
No error handling guidance. Tool does not document what happens if greet_language is invalid, or how the LLM should recover. Code silently defaults unsupported languages to English without signaling this to the caller.
Parameter description does not specify valid values as an enum. Instead, it uses prose ('ja - 日本語, en - 英語'). LLMs may hallucinate other language codes; an enum constraint would prevent this.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Tool name 'get_greet' is acceptable but could be more specific. 'get_time_based_greeting' would clarify that the greeting depends on the current hour, not just language.