Aemet Client — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Aemet Client (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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. | |
aemet-mcp | Model Context Protocol server: plug AEMET into Claude Desktop, Cursor, Windsurf or any MCP client. Runs locally over stdio. |
packages/aemet-client/README.mdpackages/aemet-mcp/README.mdpackages/aemet-client/README.es.mdRequires 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 AEMET_API_KEY is set. CI runs it behind a repository secret.
v<x.y.z> oraemet-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-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
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.