geocode_location
Geocode a place name
Find latitude and longitude for a place name. Use the coordinates with the other tools.
namerequiredcount
io.github.trondbjoroyPublished by GitHub account trondbjoroyv0.2.0Updated Oct 24, 2026
Weather forecasts from MET Norway (Yr): geocoding plus hourly forecasts worldwide.
An MCP server for MET Norway (Yr) weather data: geocoding, hourly forecasts, nowcast, alerts, sun times, ocean forecasts and historical observations.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.trondbjoroy%2Fmet-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"met": {
"type": "http",
"url": "https://met-mcp.met-mcp-worker.workers.dev/mcp"
}
}
}An MCP server for weather forecasts from MET Norway (Yr). Built as a learning project.
Available three ways:
met-mcp — run locally over stdiohttps://met-mcp.met-mcp-worker.workers.dev/mcp — Streamable HTTP on Cloudflare Workers, add it as a claude.ai connectorio.github.trondbjoroy/met-mcpgeocode_location(name, count) — find coordinates for a place name. Uses the free Open-Meteo geocoder, because MET has no geocoding API.get_forecast(latitude, longitude, hours) — hourly forecast from MET Locationforecast 2.0. Works worldwide, best in the Nordics.get_nowcast(latitude, longitude) — radar-based precipitation for the next 2 hours. Nordics only.get_weather_alerts(latitude?, longitude?) — official Norwegian danger warnings (MetAlerts). Omit coordinates for all of Norway.get_sun_events(latitude, longitude, date, utc_offset) — sunrise, sunset, and solar noon. Worldwide.get_ocean_forecast(latitude, longitude, hours) — wave height and sea temperature along the Norwegian coast.find_weather_stations(latitude, longitude, count) — nearest official weather stations (Frost).get_historical_weather(station_id, from, to, elements) — daily historical observations from the Frost archive; some stations go back over 100 years.The two Frost tools need a free client ID from https://frost.met.no/auth/requestCredentials.html, set as the FROST_CLIENT_ID env var (or a Cloudflare secret for the worker). The other tools need nothing.
Tool definitions live in src/tools.ts, shared between the stdio server and the worker.
The test spawns the server over stdio and calls both tools against the live APIs.
Then ask Claude: "What is the weather in Bergen tomorrow?"
MET_USER_AGENT env var, e.g. met-mcp/0.1.0 [email protected].worker/ holds the Cloudflare Workers deployment: the same two tools served over MCP Streamable HTTP with createMcpHandler (MCP SDK v2). Develop with npm run dev, ship with npm run deploy (both from worker/).
src/index.ts is the whole server. It speaks MCP over stdio: JSON-RPC on stdin/stdout.content blocks. This server returns JSON as text, trimmed to what an LLM needs — the raw MET response has ~90 timesteps with far more fields.console.log. It corrupts the protocol stream. Log to stderr.Source: README.md at commit c147c1b
Geocode a place name
Find latitude and longitude for a place name. Use the coordinates with the other tools.
namerequiredcountGet weather forecast
Get an hourly weather forecast from MET Norway (Yr) for a coordinate. Works worldwide, best coverage in the Nordics.
hourslatituderequiredlongituderequiredGet precipitation nowcast
Minute-by-minute precipitation for the next 2 hours, radar-based. Nordic region only. Answers 'do I need an umbrella right now?'
latituderequiredlongituderequiredGet weather alerts
Official danger warnings (wind, flood, ice, forest fire...) from MET Norway. Covers Norway and its waters. Omit coordinates to get all current alerts. Alert text is in Norwegian.
latitudelongitudeGet sunrise and sunset
Sunrise, sunset, and solar noon for a coordinate and date. Works worldwide.
daterequiredlatituderequiredlongituderequiredutc_offsetGet ocean forecast
Wave height, wave direction, and sea temperature. Covers the Norwegian coast and nearby seas.
hourslatituderequiredlongituderequiredFind weather stations
Find the nearest official weather stations (Frost). Use the station id (e.g. SN50540) with get_historical_weather.
countlatituderequiredlongituderequiredGet historical weather
Daily historical observations from a weather station (Frost archive, some stations go back over 100 years). Find station ids with find_weather_stations.
torequiredfromrequiredelementsstation_idrequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
npm installnpm run buildnpm testclaude mcp add met-weather -- node C:\Users\trond\met-mcp\dist\index.js