loading…
Search for a command to run...
loading…
Model Context Protocol server: plug AEMET into Claude Desktop, Cursor, Windsurf or any MCP client. Runs locally over stdio.
Model Context Protocol server: plug AEMET into Claude Desktop, Cursor, Windsurf or any MCP client. Runs locally over stdio.
Tools for working with AEMET OpenData, the public API of Spain's State Meteorological Agency.
| Package | Description | npm |
|---|---|---|
| aemet-client | Typed TypeScript SDK + CLI for AEMET OpenData. Used in production at snowy.es. | npm version |
| aemet-mcp | Model Context Protocol server: plug AEMET into Claude Desktop, Cursor, Windsurf or any MCP client. Runs locally over stdio. | npm version |
Requires Node.js ≥ 20.18 and pnpm ≥ 10.
pnpm install
pnpm -r build
pnpm -r test
pnpm -r typecheck
pnpm lint
To work on a single package:
pnpm --filter aemet-client test
pnpm --filter aemet-mcp dev
The E2E suite (pnpm --filter aemet-client test:e2e) hits the real AEMET
API and is skipped unless AEMET_API_KEY is set. CI runs it behind a
repository secret.
aemet-client is released by pushing a tag v<x.y.z> or
aemet-client-v<x.y.z>. The release workflow checks the tag matches
packages/aemet-client/package.json before publishing to npm via
Trusted Publishing (OIDC, no token).aemet-mcp is released by pushing a tag aemet-mcp-v<x.y.z>
using the same Trusted Publishing setup. pnpm publish rewrites the
workspace:^ dependency on aemet-client to a real semver range.See CONTRIBUTING.md for development guidelines.
MIT © Jorge Carrera
Run in your terminal:
claude mcp add aemet-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.