Skip to content

Repository files navigation

aemet-client monorepo

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. Forecasts, warnings, live observations, climate history and beach forecasts. Runs locally over stdio. npm version

Quick links

Develop

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.

Release

  • 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.

License

MIT © Jorge Carrera

About

Typed TypeScript SDK + Model Context Protocol server for the AEMET OpenData API (Spain's national weather agency). Plug AEMET into Claude Desktop, Cursor, Windsurf — or code against it directly. Used in production at snowy.es.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages