MCP Server with greeting, calculator, time, geocode, weather, and image generation tools
Server has 6 tools with consistent definition structure. All tools have descriptions and input schemas with types. However, schemas lack proper output documentation, error handling guidance is minimal, and parameter descriptions are basic. Tools follow verb_noun naming convention well. The server is functional for basic use but falls short of production-grade quality for agentic deployment.
두 개의 숫자와 연산자를 입력받아 사칙연산 결과를 반환합니다.
텍스트 프롬프트를 입력받아 AI를 사용하여 이미지를 생성합니다. (Hugging Face 모델 사용)
도시 이름이나 주소를 입력받아 위도와 경도 좌표를 반환합니다.
타임존을 입력받아 해당 타임존의 현재 시간을 반환합니다.
위도와 경도 좌표, 예보 기간을 입력받아 해당 위치의 현재 날씨와 예보 정보를 제공합니다.
이름과 언어를 입력하면 인사말을 반환합니다.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data from responses without knowing what fields to expect.
Error handling provides no recovery guidance. E.g., calculator returns '오류: 0으로 나눌 수 없습니다.' with no hint about what the LLM should do next (retry, ask user, etc.). Geocode and get-time return raw error text without actionable next steps.
Tool descriptions are brief (34-75 chars) and lack context on when to use each tool vs. alternatives. E.g., 'geocode' description does not explain when to call it before get-weather, or clarify it returns lat/lon for use in downstream calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 34 | - | v1 |
No tool composition hints. Response for geocode should document that its lat/lon output feeds directly into get-weather latitude/longitude parameters. Responses do not include IDs or references needed by downstream tools.
generate-image tool accepts Hugging Face API token via config but does not validate token presence at runtime or provide clear error message if HF_TOKEN env var is missing. Token exposure in error logs is a risk.
No input validation examples shown for edge cases. E.g., get-weather accepts forecastDays 1-16, but no validation shown for invalid timezone in get-time (caught at runtime, not validation layer). Calculator division by zero is caught, but not consistently applied.