The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Weather MCP listing page.
An MCP (Model Context Protocol) server that lets an AI assistant Claude, Gemini CLI, or any MCP-compatible client answer real weather questions using live data, instead of just fetching raw numbers.
Powered by Open-Meteo — free, no API key required.
Most weather integrations just return temperature: 22°C. This one adds a reasoning layer on top, so you can ask things a plain API can't answer directly:
get_weather("Bangalore") — current conditions + today's forecastshould_i_carry_umbrella("Mumbai") — a yes/no answer with reasoning, not just a rain percentageis_good_for_outdoors("Delhi") — checks rain, wind, and temperature together to judge if it's a good day to be outsidecompare_weather("Bangalore", "Delhi") — compares two cities at onceA quick sanity check against the real API (no mocking, no API key needed):
Add this to your Claude Desktop config (claude_desktop_config.json):
Add this to ~/.gemini/settings.json:
Restart your client, then just ask it something like "should I carry an umbrella in Chennai today?"
Kept as separate files on purpose — weather_core.py and weather_advice.py have no MCP dependency at all, so they're easy to test or reuse on their own.
PRs welcome. Some ideas if you want to add a tool:
Keep new tools in weather_advice.py if they add reasoning on top of raw data, or weather_core.py if they're pure data fetching — then wire them into server.py as a new @mcp.tool().
MIT — see LICENSE.