Only 1 tool registered: 'global_weather_tool'. This tool has critical issues: naming is vague and misleading (suggests it handles global weather but actually routes to either Korean or global tools), description is in Korean and confusing about what the tool actually does, input schema is minimal with no validation, and output is unstructured text rather than typed JSON. The tool description says 'this function must be called first' and mentions calling 'kor_weather_tool' or 'global_weather_tool', but only 'global_weather_tool' is registered, a broken tool chain. No error handling guidance, no pagination support, no structured response schema. The implementation catches exceptions and returns generic 'failed' strings, not actionable recovery guidance.
이 함수는 가장 먼저 호출되어야 하는 함수 입니다. 이 함수는 날씨를 조회하기 이전 사용자 입력에서 입력 받은 도시가 국내(한국)인지 해외인지 확인하는 도구 입니다. 만약 한국의 도시일 경우 "kor_weather_tool"을 호출하고 해외의 도시일 경우 "global_weather_tool"을 호출하세요.
Misleading tool name 'global_weather_tool' when it actually routes between Korean and global weather, violates verb_noun naming convention and name clarity patterns. LLM cannot infer intent from the name alone.
Description is in Korean (non-English), making it inaccessible to most LLM agents. Description also contradicts tool behavior by mentioning calling 'kor_weather_tool' which does not exist in the registered tools. This creates confusion about what the tool actually does.
Input schema for 'city' parameter has no validation: no enum of valid cities, no pattern, no minimum/maximum length. Allows LLM to pass invalid city names. Parameter description is English and minimal (10 chars).
Output is unstructured plain text string, not typed JSON object. No output schema documented. LLM must parse free-form text, wasting tokens and increasing hallucination risk. Violates 'response-shaper' pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 27 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 22 | - | v1 |
Error handling returns generic 'failed' string instead of actionable recovery guidance. LLM has no idea whether to retry, ask user for clarification, or try a different city. Violates recovery-guide pattern.
Tool description mentions 'kor_weather_tool' as a callable tool, but no such tool exists in the registered tools. The server only registers 'global_weather_tool'. This broken tool chain prevents the agent from following the documented flow.
API key (OPENWEATHER_API_KEY) is loaded from environment but no indication that it is never exposed as a tool parameter. However, the lack of error handling makes it unclear if secrets could be leaked in error responses.