io.github.jocarrd/aemet-mcp
MCP server for AEMET: Spain's official forecasts, warnings, observations and climate data.
Open source Open in the app JSON README (API)
About
MCP server for AEMET: Spain's official forecasts, warnings, observations and climate data.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- jocarrd
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.2
- Stars
- 1
- Open pull requests
- 5
- Last push
- 2026-09-06T04:23:38Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:00:16
- Updated
- 2026-09-12 12:05:06
- Origin id
io.github.jocarrd/aemet-mcp
README
# aemet-client monorepo Tools for working with [AEMET OpenData](https://opendata.aemet.es/), the public API of Spain's State Meteorological Agency. | Package | Description | npm | | --- | --- | --- | | [`aemet-client`](packages/aemet-client) | Typed TypeScript SDK + CLI for AEMET OpenData. Used in production at [snowy.es](https://snowy.es). | [](https://www.npmjs.com/package/aemet-client) | | [`aemet-mcp`](packages/aemet-mcp) | Model Context Protocol server: plug AEMET into Claude Desktop, Cursor, Windsurf or any MCP client. Runs locally over stdio. | [](https://www.npmjs.com/package/aemet-mcp) | ## Quick links - **Just want to use AEMET from code?** → [`packages/aemet-client/README.md`](packages/aemet-client/README.md) - **Want your LLM to answer Spanish weather questions?** → [`packages/aemet-mcp/README.md`](packages/aemet-mcp/README.md) - **Spanish docs** → [`packages/aemet-client/README.es.md`](packages/aemet-client/README.es.md) ## Develop Requires Node.js ≥ 20.18 and pnpm ≥ 10. ```bash pnpm install pnpm -r build pnpm -r test pnpm -r typecheck pnpm lint ``` To work on a single package: ```bash 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`](CONTRIBUTING.md) for development guidelines. ## License MIT © [Jorge Carrera](https://github.com/jocarrd)