Weather-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Weather-mcp-serverDo I need an umbrella in Seattle tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Weather-Prediction MCP Server + Agent
Day 3 homework: a weather-forecast MCP server (pattern borrowed from
databricks-lakebase-app-day-3's Alpaca paper-trading MCP server) wired to
a Databricks Agent Bricks agent.
Architecture
Agent Bricks agent --(MCP tool calls)--> mcp_server/weather_mcp_server.py --(REST)--> Open-Meteo (+ NWS alerts, US only)
mcp_server/weather_mcp_server.py- FastMCP server exposing 5 tools over streamable HTTP (the transport Databricks' MCP gateway expects).mcp_server/weather_broker.py- adapter module: all HTTP calls and response parsing for Open-Meteo (geocoding + forecast) and the NWS alerts API. No API key required for either.mcp_server/app.yaml/mcp_server/requirements.txt- Databricks App config.
Related MCP server: weather-mcp
Weather API + auth
Open-Meteo (https://open-meteo.com/) - free, no signup, no API key, ~10,000 calls/day (non-commercial use). No Databricks secret needed. NWS alerts (https://api.weather.gov/) - also free, no key, US-only.
Tools
Tool | Purpose |
| Current temperature, humidity, wind, conditions |
| Multi-day forecast (temp high/low, precip %, conditions) |
| Judgment call: recommends an umbrella if precipitation probability > 40% (tunable via |
| Active NWS alerts, US only |
| Side-by-side forecast comparison across cities |
Setup steps
cd mcp_server && pip install -r requirements.txtpython weather_mcp_server.py- serves MCP on:8000locally.Sanity-check with an MCP Inspector or
curlbefore deploying.Push this repo to your own Git remote.
In Databricks: create a Git folder pointing at this repo, then Compute > Apps > Create app > Custom, name it e.g.
weather-forecast-mcp, source = the Git folder'smcp_server/subfolder. Deploy, copy the app URL.AI Gateway > MCPs > Add MCP - register the app URL as an external MCP server (streamable HTTP).
Agents > Agent Bricks > Create agent - add the registered MCP server as a tool, paste in the system prompt below, deploy, and chat with it.
Agent system prompt
You are a weather assistant. Always call a weather tool before answering any question about current conditions or forecasts - never guess or make up weather data. Use get_current_weather for "what's it like right now" questions, get_forecast for future-looking questions, and predict_umbrella_needed when the user asks whether they need an umbrella, jacket, or similar. If a location can't be resolved or a tool returns an error, tell the user plainly and ask them to clarify the location rather than guessing. Only use get_severe_weather_alerts for US locations.
Demo
"Will it rain in Chicago tomorrow?"
"Should I bring a jacket to Austin this weekend?"
"Compare the weather in Miami and Denver on 2026-08-15."
"What's the weather right now in Dakar?"
(see attached transcripts/screenshots for full tool-call traces and answers)
Test Transcripts
7. Severe-weather alerts: US vs non-US
Test 7a: US City - Miami, Florida
>>> get_severe_weather_alerts('Miami')Response:
{
"location": "Miami",
"country": "United States",
"alerts": [
{
"event": "Heat Advisory",
"severity": "Moderate",
"headline": "Heat Advisory issued August 9 at 1:15AM EDT until August 9 at 6:00PM EDT by NWS Miami FL",
"effective": "2026-08-09T01:15:00-04:00",
"expires": "2026-08-09T18:00:00-04:00"
}
]
}Result: ✓ Returns active alerts from NWS API (when alerts exist)
Test 7b: Non-US City - Dakar, Senegal
>>> get_severe_weather_alerts('Dakar')Response:
{
"location": "Dakar",
"country": "Senegal",
"alerts": [],
"note": "NWS alerts only cover US locations; this location is outside the US."
}Result: ✓ Returns empty alerts with explanatory note for non-US locations
Test 7c: US City with no active alerts - Chicago, Illinois
>>> get_severe_weather_alerts('Chicago')Response:
{
"location": "Chicago",
"country": "United States",
"alerts": []
}Result: ✓ Returns empty list when no alerts are active (still queries NWS API)
Run the tests yourself:
python test_severe_weather_alerts.pyFor your agent playground, try asking:
"Are there any weather alerts in Miami?"
"Check for severe weather in Dakar, Senegal"
"What weather alerts are active in San Francisco?"
Notes
No secrets committed; Open-Meteo and NWS need no auth. If you swap in a key-requiring API (e.g. WeatherAPI.com), store the key as a Databricks secret following the
_secret()/WorkspaceClient().secrets.get_secret()pattern from the Day 3 reference repo'salpaca_broker.py- never hardcode it.
Related MCP Connectors
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
Open-Meteo tabanlı anahtarsız hava durumu tahmin MCP sunucusu.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for weather forecasts via Open-Meteo (no API key needed), providing current weather, hourly, and daily forecasts with geocoding support.3MIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing weather data via the Open-Meteo API, including geocoding, current conditions, daily and hourly forecasts, and city lookup. No API key required, with support for multiple units and transport types.1MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that provides real-time weather data and forecasts via Open-Meteo, with tools for current conditions, multi-day forecasts, umbrella predictions, and travel recommendations.-
- FlicenseNot gradedqualityCmaintenanceThis MCP server provides real-time weather data, multi-day forecasts, and umbrella recommendations using the Open-Meteo API. It enables natural-language queries about current conditions, future forecasts, and precipitation-based advice.-