Aemet MCP server
MCP server for AEMET: Spain's official forecasts, warnings, observations and climate data.
1 stars227 downloads/wk
Reviews
Write oneNobody has reviewed Aemet yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Aemet tools (8)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
get_air_qualityReturns the latest reading of AEMET's background pollution network (EMEP/VAG/CAMP): 13 rural reference stations that measure the regional baseline of O3, NO, NO2, SO2 and PM10, plus temperature, humidity, pressure, wind, radiation and precipitation. This is BACKGROUND pollution, measured far from towns and roads on purpose. It does NOT answer 'how is the air in Madrid/Barcelona today': urban air q
get_beach_forecastReturns the AEMET beach forecast for the next three days: sky, wind and waves for morning and afternoon, plus maximum temperature, water temperature, thermal sensation and maximum UV index. Covers the 591 beaches AEMET forecasts during the bathing season. Accepts a beach name (accents optional), optionally narrowed by municipality, or the 7-digit AEMET beach code.
get_climate_historyFinds the AEMET climatological station closest to the requested location and returns its measured history. mode='range' returns daily records (temperature, precipitation, wind, humidity, sunshine) between two dates; AEMET serves at most 6 months (186 days) per call, so longer histories need several calls. Ranges longer than 31 days are condensed into one line per month (mean max/min, total precipi
get_forecastReturns the AEMET forecast for any of Spain's 8000+ municipalities. Accepts a name (with or without accents) or INE code. Daily granularity returns temperature min/max, sky state, precipitation probability and wind for each day. Hourly returns the next ~40h.
get_maritime_forecastReturns the AEMET maritime bulletin for a sea area: sea state, wind, visibility, warnings and the validity period. Two products are covered: coastal waters (8 bulletins, one per stretch of the Spanish coast, each split into per-province zones and carrying the marine warnings) and high seas (3 bulletins covering the Atlantic north of 30N, the Atlantic south of 35N and the Mediterranean). Areas can
get_mountain_forecastget_nearest_observationFinds the AEMET weather station closest to the requested location and returns its most recent reading (temperature, humidity, wind, precipitation, pressure). Useful for 'what's the weather right now' style questions.
get_warningsReturns the most recent CAP (Common Alerting Protocol) weather warnings issued by AEMET for the given autonomous community, or for the whole country ('esp'). Severity follows the CAP standard: Minor, Moderate, Severe, Extreme.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan5 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Aemet repository's README, as published. We do not edit it. Read it on GitHub
aemet-client monorepo
Tools for working with AEMET OpenData, the public API of Spain's State Meteorological Agency.
Quick links
- Just want to use AEMET from code? → packages/aemet-client/README.md
- Want your LLM to answer Spanish weather questions? → packages/aemet-mcp/README.md
- Spanish docs → packages/aemet-client/README.es.md
Develop
Requires Node.js ≥ 20.18 and pnpm ≥ 10.
pnpm install
pnpm -r build
pnpm -r test
pnpm -r typecheck
pnpm lintTo work on a single package:
pnpm --filter aemet-client test
pnpm --filter aemet-mcp devThe E2E suite (pnpm --filter aemet-client test:e2e) hits the real AEMET API and is skipped unless AEMETAPIKEY is set. CI runs it behind a repository secret.
Release
aemet-client-v. The release workflow checks the tag matches packages/aemet-client/package.json before publishing to npm via Trusted Publishing (OIDC, no token).
- aemet-client is released by pushing a tag v or
using the same Trusted Publishing setup. pnpm publish rewrites the workspace:^ dependency on aemet-client to a real semver range.
- aemet-mcp is released by pushing a tag aemet-mcp-v
See CONTRIBUTING.md for development guidelines.
License
MIT © Jorge Carrera
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y aemet-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add aemet-mcp -- npx -y aemet-mcp
Aemet: common questions
- Is Aemet MCP server safe?
- Mostly: it is graded B (83/100). Read the Aemet safety report
- How do I install Aemet?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Aemet need an API key?
- Yes. The registry entry asks for
AEMET_API_KEY. - Is Aemet maintained?
- The last commit was 5 days ago (2026-09-16). The latest release is v0.3.0.