AEMET

io.github.mmillan76Published by GitHub account mmillan76v0.1.1Updated Oct 24, 2026

MCP server exposing AEMET (Spanish weather agency) forecasts, station data and warnings.

VerifiedSTDIODesktop onlyLocation & Lifestyle

Overview

AI-generated overview

Lets an assistant fetch Spanish AEMET weather forecasts, station observations and active weather warnings.

What you can do
Exposes three tools backed by AEMET's official OpenData API: get_municipality_forecast returns a daily forecast of up to seven days for a Spanish municipality by INE code; get_station_observation returns roughly the last twelve hours of hourly station readings such as temperature, wind and precipitation; get_weather_warnings returns active CAP weather alerts for a region or for all of Spain. The server handles AEMET's two-step request pattern internally, so tools return the final data directly.
When to use it
Use it when an assistant needs current or forecast Spanish weather, station-level observations, or official weather alerts, for example in travel, agriculture, event planning or local reporting workflows. It is specific to Spain and to AEMET data, so it is not a general global weather source.
Requirements
Runs locally over stdio, typically launched by an MCP client via npx; requires Node.js 20 or newer and a free AEMET OpenData API key supplied in the AEMET_API_KEY environment variable. The server exits with an error at startup if that variable is missing. Network access to AEMET's OpenData API is needed.
Before you install
The AEMET_API_KEY secret is required and is read from the environment; keep it out of shared configuration files and version control. Rate limits apply per API key, and the server returns an error rather than retrying when they are hit. The tools only read public weather data and do not write, send or delete anything.

Installation

In SourceWeft

  1. Open AEMET in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

aemet-mcp

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.

Prerequisites

Installation

No install needed — run it directly with npx:

bash
npx -y @mmillan76/aemet-mcp

The server communicates over stdio, so it's meant to be launched by an MCP client rather than run standalone in a terminal.

Configuration

The server reads the API key from the AEMET_API_KEY environment variable. It exits with an error at startup if it's missing.

Claude Desktop / Claude Code

Add to your MCP client config (e.g. claude_desktop_config.json):

json
{  "mcpServers": {    "aemet": {      "command": "npx",      "args": ["-y", "@mmillan76/aemet-mcp"],      "env": {        "AEMET_API_KEY": "your-api-key-here"      }    }  }}

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.

Local development

bash
git clone https://github.com/mmillan76/aemet-mcp.gitcd aemet-mcpnpm installcp .env.example .env   # fill in AEMET_API_KEYnpm run build

Test tool calls interactively with the MCP Inspector:

bash
npx @modelcontextprotocol/inspector node dist/index.js

(the Inspector reads AEMET_API_KEY from your shell environment, so export it — or source .env — before running the command above)

Notes on the AEMET API

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.

License

MIT — see LICENSE.

Source: README.md at commit 47ffdd6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% 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.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts