Exposes weather tools over MCP (Model Context Protocol) so a Databricks Agent Bricks agent can answer natural-language weather questions. Provides current conditions, multi-day forecasts, umbrella recommendations, weather alerts, and historical weather data backed by Open-Meteo's free weather API.
Five tools with clear verb-noun naming (get_*, predict_*) and comprehensive descriptions (150-250 chars each). All tools have input schemas with typed parameters and descriptions. Output schemas are documented in docstrings. However, parameter descriptions lack explicit constraints (ranges, enums, formats), and error handling guidance is minimal. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations. Descriptions are well-structured but could be more concise for LLM optimization.
Get current weather conditions for a given location. This tool fetches real-time weather data including temperature, humidity, wind speed, and precipitation. Perfect for answering "What's the weather like in [location] right now?"
Get multi-day weather forecast for a given location. Returns daily high/low temperatures, precipitation probability, and conditions for the next N days. Perfect for planning trips or outdoor activities.
Get historical weather data for a given location and date range. Returns daily weather records (temperature, precipitation, wind) for past dates. Useful for analyzing weather patterns, climate research, or validating forecasts against actual outcomes.
Get active weather alerts for a given location. Returns official weather warnings, watches, and advisories from the National Weather Service (US) or international heuristics. Useful for safety-critical applications.
Predict whether you'll need an umbrella for a given location and date. This is a DERIVED JUDGMENT tool - it applies reasoning on top of raw forecast data. Logic: recommend an umbrella if precipitation probability > 40% OR if precipitation amount > 0.1 inches is expected.
Parameter constraints not formally declared. 'days' parameter in get_forecast lacks min/max bounds in schema; 'date' in predict_umbrella_needed lacks format specification. LLMs cannot parse constraints from descriptions alone.
No tool annotations despite all tools being read-only. Missing readOnlyHint declarations prevent clients from optimizing caching and retry logic.
Error handling lacks recovery guidance. Docstrings document error status but do not tell LLM what to do next (e.g., 'If location not found, try search_locations()' or 'Retry with a different date range').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | <=2025-11-25 | v2 |
Output schema documentation incomplete. Docstrings describe return structure but do not specify field types, nullability, or array element schemas. LLMs cannot reliably extract nested fields.
Parameter descriptions include example values ('Chicago', 'Austin, TX', 'Paris, France'). LLMs tend to reuse examples literally rather than adapting to context, risking incorrect location strings.