Skip to content

jocarrd/aemet-client

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

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors