Finnish Meteorological Institute open data (forecast, observations, warnings)
This server has basic tool definitions with schemas present, but significant gaps in descriptions and parameter documentation. All 4 tools have input schemas defined in code (forecast, latest_observations, recent_observations, warnings), but descriptions are minimal and many parameters lack descriptions entirely. The 'forecast' tool has the best documentation (description + 3 params with descriptions), while 'latest_observations' and 'recent_observations' have sparse parameter docs. The 'warnings' tool has no parameters and minimal context. No output schemas are documented. Error handling is minimal, the code throws generic errors without recovery guidance. No tool annotations (readOnlyHint, etc.) despite all being read-only. Parameter validation is basic (reqStr checks for empty strings, but no enum constraints, range validation, or format specifications). The server lacks pagination support despite potentially returning large datasets (e.g., 48 hours of observations). Overall, this is a functional but underdeveloped tool set that would benefit from LLM-optimized descriptions and structured output documentation.
Multi-hour HARMONIE forecast for a place name in Finland (60 h ahead).
Most recent observation values for a place.
Last N hours of observations.
Currently active weather warnings (Finland, ISO bulletin XML returned as text).
Missing parameter descriptions for 'place' and 'parameters' in latest_observations and recent_observations. LLMs cannot infer that 'parameters' is a comma-separated string of weather fields without explicit documentation.
No output schema documentation. Tools return complex nested structures (observations array with lat/lon/time/parameter/value fields, or XML text for warnings) but LLMs have no guidance on what to expect or how to extract data.
No pagination or result limits documented. recent_observations can return 48 hours of data with 60-minute timesteps (48 points per parameter × N parameters), potentially overwhelming context. No limit parameter or pagination guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Error handling is minimal and non-actionable. wfsGet() throws 'FMI: {status} {text}' but does not guide the LLM on recovery (retry, check place name, etc.). No error classification (retryable vs user-fixable).
No tool annotations despite all tools being read-only. Adding readOnlyHint: true would signal to agents that these tools are safe to call without side effects.