Weather for Grown Ups

Operational NWP, ensembles, AI weather models, regional forecasts, history, and verification.

AI & MLTypeScriptv0.5.5

Weather for Grown Ups

Weather is the hello-world of agent tools. WFG is for when “temperature tomorrow” stops being enough.

One query language for operational NWP: global and regional models, deterministic and ensemble forecasts, physics and AI, current runs and history.

Ask the same atmospheric question across models without flattening what makes the models different.

30-second start

Requires Node.js 20+.

npx weather-for-grown-ups catalog --dataset all --search wind --json

npx weather-for-grown-ups query \
  --dataset gfs \
  --lat 50.08 --lon 14.43 \
  --at 2026-08-24T12:00:00Z \
  --vars temperature,wind \
  --levels 850,700,500 \
  --json

For repeated use:

npm install -g weather-for-grown-ups
wfg --help

The contract

Normal atmospheric access is four orthogonal choices:

dataset × geometry × time × selection
{
  "dataset": "gefs",
  "geometry": {
    "type": "point",
    "latitude": 50.08,
    "longitude": 14.43
  },
  "time": {
    "at": "2026-08-30T12:00:00Z"
  },
  "selection": {
    "variables": ["temperature", "wind"],
    "pressureLevelsHpa": [850, 700, 500]
  },
  "ensemble": {
    "quantiles": [0.1, 0.5, 0.9]
  }
}

Change the dataset; keep the question. Unsupported combinations fail rather than being coerced into fake symmetry.

Read the unified atmospheric API →

Ask harder questions

Start with the question. Let the agent build the forecast investigation from scratch.

01 — Give me the serious forecast

What does the atmosphere over Prague look like tomorrow afternoon? Cover the surface and vertical structure, compare the main global guidance, and show which parts are robust across the ensembles.

GFS + IFS → pressure profiles → GEFS + IFS ENS → regional model if useful

02 — Is a front coming?

Is a frontal passage expected near Prague tomorrow? If so, when does it arrive, what changes through the column, and how consistent are the models?

GFS + IFS → time evolution → pressure profiles → GEFS + IFS ENS → align latest vs previous runs

03 — AI vs physics

How do AIFS and IFS describe the atmosphere over Prague tomorrow? Where do they disagree through time and height, and is that disagreement large relative to their ensemble uncertainty?

align IFS, AIFS → pressure profiles → align IFS ENS, AIFS ENS

04 — Plan a paragliding day

I’m planning to paraglide around Bassano tomorrow. How does the convective window develop through the day, what do the wind profile and stability look like, and how robust is the picture across ensembles and global/regional guidance?

profiles → parcel diagnostics → wind through the column → time evolution → ensembles → global + regional models

05 — Verify an old forecast

What did GFS predict three days ago for Prague today, and how well did that forecast verify?

archived forecast → analysis / radiosonde → error → lead provenance

Explore the investigation gallery →

Models

GFS · GEFS · AIGFS · AIGEFS · HGEFS · IFS · IFS ENS · AIFS · AIFS ENS · ICON-D2 · ICON-D2-EPS · AROME · PE-AROME · GFS analysis · GEFSv12 reforecast

Capabilities come from the catalog. Native grids, cadence, domains, members, fields and provenance remain explicit.

wfg catalog --dataset all --json

Agents

WFG exposes the same core through CLI and MCP.

Shell available → CLI.
No shell / remote → MCP.

npx weather-for-grown-ups mcp

Add the portable WFG skill, then pick a setup guide: Codex · Claude Code · Hermes · OpenClaw · other agents

Go deeper

Examples · Installation · API contract · Catalog · History · Architecture · All docs

License

MIT. See LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y weather-for-grown-ups

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-janhelcl-weather-for-grown-ups": {
      "command": "npx",
      "args": [
        "-y",
        "weather-for-grown-ups"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

weather-for-grown-upsnpm

Compatible MCP Clients

Weather for Grown Ups works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More