MCP server for Korean weather forecasts using KMA API
Single tool with minimal documentation. Tool name 'get_forecast' follows verb_noun convention (+), but description is generic (18 chars, below 20-char threshold). Input schema present with proper types (latitude, longitude as float) but parameter descriptions are trivial ('Latitude of the location'). No output schema documented, function returns formatted string, not structured data. No error handling guidance. Tool lacks idempotent/destructive hints. Baseline: 194 chars avg description, 72 chars avg param annotation; this server is 50% below baseline.
Get weather forecast for a location.
Description too short (18 chars). 'Get weather forecast for a location.' lacks WHEN to use, prerequisites, or return format. LLMs cannot determine when to select this tool vs alternatives.
No output schema documented. Function returns formatted string with weather data (temperature, sky state, precipitation, humidity, wind speed). LLMs cannot parse or chain results without knowing structure.
Parameter descriptions are trivial. 'Latitude of the location' and 'Longitude of the location' do not specify format, range, or constraints. Should state: 'Latitude in decimal degrees (-90 to 90). South is negative.' and 'Longitude in decimal degrees (-180 to 180). West is negative.'
No error handling guidance. Function calls external KMA API without documented failure modes. What happens if API returns 500? If coordinates are outside Korea? If API key is invalid? LLM has no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No tool annotations. Tool is read-only (fetches data, no side effects) but lacks readOnlyHint annotation. Agents cannot infer safety properties.