The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the AEMET listing page.
MCP server that exposes public weather data from AEMET (Agencia Estatal de Meteorología, Spain) to AI agents and MCP-compatible clients.
Three tools, well-typed, backed by AEMET's official OpenData API:
get_municipality_forecast — daily forecast (up to 7 days) for a
Spanish municipality, by INE code.get_station_observation — last ~12h of hourly observation data
(temperature, wind, precipitation…) from a weather station.get_weather_warnings — active weather warnings (CAP alerts) for a
region or all of Spain.No install needed — run it directly with npx:
The server communicates over stdio, so it's meant to be launched by an MCP client rather than run standalone in a terminal.
The server reads the API key from the AEMET_API_KEY environment variable.
It exits with an error at startup if it's missing.
Add to your MCP client config (e.g. claude_desktop_config.json):
Any other MCP client that supports stdio servers works the same way — point
it at npx -y @mmillan76/aemet-mcp with AEMET_API_KEY set in the environment.
Test tool calls interactively with the MCP Inspector:
(the Inspector reads AEMET_API_KEY from your shell environment, so export
it — or source .env — before running the command above)
AEMET OpenData uses a two-step pattern on every endpoint: the first request
returns a JSON envelope with a datos URL, not the actual data; a second
request to that URL returns the real payload. This server hides that detail
— tools just return the final data. Rate limits apply per API key; if you
hit them, the tool returns a clear error instead of retrying silently.
MIT — see LICENSE.