Back to Browse

Aemet MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

7 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Free AEMET OpenData API key. Request one at https://opendata.aemet.es/centrodedescargas/altaUsuarioRequired

Environment variable: AEMET_API_KEY

How to Install

Add this to your MCP configuration file:

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

Documentation

View on GitHub

From the project's GitHub 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:

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):

{
  "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

git clone https://github.com/mmillan76/aemet-mcp.git
cd aemet-mcp
npm install
cp .env.example .env   # fill in AEMET_API_KEY
npm run build

Test tool calls interactively with the MCP Inspector:

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.

Reviews

No reviews yet

Be the first to review this server!