An MCP server for weather data from Yr / MET Norway — the Norwegian Meteorological Institute's free, open weather API.
Ask your AI assistant things like "Will it rain in Bergen this weekend?" or "Do I need an umbrella in the next hour?" and it can answer with real forecast data. Forecasts work worldwide; minute-by-minute precipitation nowcasts cover the Nordic region.
No API key required.
| Tool | Description |
|---|---|
get_forecast |
Weather forecast (Locationforecast 2.0): hour-by-hour temperature, wind, precipitation and weather symbol, plus a daily summary for the full ~10-day forecast period. Takes a place name or coordinates. Works globally. |
get_nowcast |
Minute-by-minute precipitation for the next ~90 minutes (Nowcast 2.0). Nordic region only. |
search_location |
Search Yr's location registry. Returns name, region, coordinates, elevation and time zone — useful for disambiguating place names. |
get_forecast and get_nowcast accept either a place name (the top search hit is used) or explicit lat/lon coordinates. Times are converted to the location's local time zone.
Requires Node.js 18 or newer.
git clone https://github.com/fredrsat/yr-mcp.git
cd yr-mcp
npm installclaude mcp add --scope user yr -- node /path/to/yr-mcp/server.jsAdd to claude_desktop_config.json:
{
"mcpServers": {
"yr": {
"command": "node",
"args": ["/path/to/yr-mcp/server.js"]
}
}
}Any other MCP client that supports stdio transport works the same way: run node server.js and speak MCP over stdin/stdout.
User: Will it rain in Trondheim tomorrow?
The assistant calls
get_forecastwithplace: "Trondheim"and answers from the daily summary:Dagsoversikt: 2026-09-12 12.2–13.8°C nedbør 7.8 mm vind opptil 8.9 m/s cloudy ...
- Forecast data: MET Norway Locationforecast 2.0 and Nowcast 2.0, licensed under NLOD / CC BY 4.0.
- Location search: Yr's location registry (
www.yr.no/api/v0/locations).
The server follows MET's terms of service: it sends an identifying User-Agent header and truncates coordinates to four decimals. If you fork this project, please change the USER_AGENT constant in server.js to identify your own deployment.
Weather data © MET Norway.
MIT