met-mcp
A community-built MCP server providing weather tools including geocoding, hourly forecasts, nowcasts, alerts, sun events, ocean forecasts, and historical data from MET Norway and Open-Meteo APIs.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://met-mcp.met-mcp-worker.workers.dev/mcpWhat its tools do
8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Find coordinates for a place name
- Get hourly weather forecasts worldwide
- Retrieve radar-based precipitation nowcasts
- Check official Norwegian weather alerts
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- met-weather 0.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
8 advertised
geocode_location — Geocode a place name
Find latitude and longitude for a place name. Use the coordinates with the other tools.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Place name, e.g. 'Bergen' or 'Oslo, Norway'"
},
"count": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum number of matches to return"
}
}
}get_forecast — Get weather forecast
Get an hourly weather forecast from MET Norway (Yr) for a coordinate. Works worldwide, best coverage in the Nordics.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude"
],
"properties": {
"hours": {
"type": "integer",
"default": 24,
"maximum": 48,
"minimum": 1,
"description": "How many hours ahead to include"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
}
}
}get_nowcast — Get precipitation nowcast
Minute-by-minute precipitation for the next 2 hours, radar-based. Nordic region only. Answers 'do I need an umbrella right now?'
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
}
}
}get_weather_alerts — Get 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
}
}
}get_sun_events — Get sunrise and sunset
Sunrise, sunset, and solar noon for a coordinate and date. Works worldwide.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude",
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date as YYYY-MM-DD"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
},
"utc_offset": {
"type": "string",
"default": "+00:00",
"pattern": "^[+-]\\d{2}:\\d{2}$",
"description": "UTC offset for the returned times, e.g. '+02:00' for Norwegian summer time"
}
}
}get_ocean_forecast — Get ocean forecast
Wave height, wave direction, and sea temperature. Covers the Norwegian coast and nearby seas.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude"
],
"properties": {
"hours": {
"type": "integer",
"default": 24,
"maximum": 48,
"minimum": 1,
"description": "How many hours ahead to include"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
}
}
}find_weather_stations — Find weather stations
Find the nearest official weather stations (Frost). Use the station id (e.g. SN50540) with get_historical_weather.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude"
],
"properties": {
"count": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Maximum number of stations to return"
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees"
}
}
}get_historical_weather — Get 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"station_id",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date (exclusive), YYYY-MM-DD"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date, YYYY-MM-DD"
},
"elements": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"mean(air_temperature P1D)",
"sum(precipitation_amount P1D)",
"max(wind_speed P1D)"
],
"description": "Frost element ids. Defaults: daily mean temperature, precipitation sum, max wind."
},
"station_id": {
"type": "string",
"pattern": "^SN\\d+$",
"description": "Station id from find_weather_stations, e.g. SN50540"
}
}
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 252 ms
- 95th percentile latency
- 252 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 252 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http met-mcp-workers https://met-mcp.met-mcp-worker.workers.dev/mcpCodex
codex mcp add met-mcp-workers --url https://met-mcp.met-mcp-worker.workers.dev/mcpCursor
{
"mcpServers": {
"met-mcp-workers": {
"url": "https://met-mcp.met-mcp-worker.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"met-mcp-workers": {
"type": "streamableHttp",
"url": "https://met-mcp.met-mcp-worker.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"met-mcp-workers": {
"type": "http",
"url": "https://met-mcp.met-mcp-worker.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http met-mcp-workers https://met-mcp.met-mcp-worker.workers.dev/mcpClaude Desktop
https://met-mcp.met-mcp-worker.workers.dev/mcpWindsurf
{
"mcpServers": {
"met-mcp-workers": {
"serverUrl": "https://met-mcp.met-mcp-worker.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like met-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.