Keyless Model Context Protocol server giving AI agents live US weather, hazards and geospatial data: multi-day forecasts, current conditions, active weather alerts, recent earthquakes, ground elevation, and US address geocoding.
Weather Intel MCP has 8 well-named, read-only tools with consistent schemas and basic descriptions. All tools follow verb_noun naming (forecast, current_conditions, geocode_*). Input schemas are present and typed (lat/lon as numbers, address/place as strings). However, descriptions are terse (10 - 30 chars), parameter descriptions lack context (e.g., no guidance on valid lat/lon ranges, no mention of US-only scope in geocode tools), and output schemas are entirely undocumented. Error handling is minimal, no recovery guidance or actionable error messages visible in the tool definitions. The server lacks tool annotations (readOnlyHint present in metadata but not in schema), pagination guidance for multi-result tools, and field-naming consistency between tools (e.g., forecast vs forecastHourly in nwsPoint).
Get current weather conditions for a location
Get ground elevation for a location
Get multi-day weather forecast for a location
Get hourly weather forecast for a location
Geocode a US street address to latitude and longitude
Geocode a US place name (city, town, CDP) to latitude and longitude
Get recent earthquake data for a location
Get active weather alerts for a location
Tool descriptions are too brief (10 - 30 chars). LLMs cannot determine when to select forecast vs forecast_hourly vs current_conditions without longer, context-rich descriptions explaining use cases and differences.
Parameter descriptions are missing or minimal. 'Latitude' and 'Longitude' lack range constraints (valid: -90 to 90, -180 to 180), precision guidance (4 decimals per nwsPoint), or US-only scope. 'radius_km' in recent_earthquakes has no bounds or typical values.
Output schemas are completely undocumented. No tool declares what fields it returns, data types, or structure. LLMs cannot plan downstream calls or extract required data (e.g., does forecast return an array? What fields does each item have?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
No error handling guidance. Tools do not document what errors are possible (e.g., invalid coordinates, upstream API failure, location not found), whether they are retryable, or what the LLM should do next. Code shows retry logic (600ms delay, retry on 403/429/5xx) but this is invisible to the agent.
Tool annotations (readOnlyHint, destructiveHint) are declared in metadata but not in individual tool schemas. Modern MCP clients expect per-tool annotations in the tool definition itself for proper UI rendering and safety checks.