MCP server: One MCP server.

AEMET

@jocarrdMCP server · External

MCP server for AEMET: Spain's official forecasts, warnings, observations and climate data.

Weatherv0.3.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmaemet-mcpv0.3.1

Run

npx -y aemet-mcp

MCP client config

{
  "mcpServers": {
    "aemet": {
      "command": "npx",
      "args": [
        "-y",
        "aemet-mcp"
      ]
    }
  }
}
README1 min read

aemet-client monorepo

Tools for working with AEMET OpenData, the public API of Spain's State Meteorological Agency.

PackageDescriptionnpm
aemet-clientTyped TypeScript SDK + CLI for AEMET OpenData. Used in production at snowy.es.npm version
aemet-mcpModel 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

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 for development guidelines.

License

MIT © Jorge Carrera

Similar modules

Browse Weather