{"name":"io.github.janhelcl/weather-for-grown-ups","slug":"janhelcl-weather-for-grown-ups","title":"Weather for Grown Ups","description":"Operational NWP, ensembles, AI weather models, regional forecasts, history, and verification.","url":"https://mcp.market/server/janhelcl-weather-for-grown-ups","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":25,"stars":0,"forks":0,"downloads_week":101,"last_push_at":"2026-09-11T21:23:29.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/janhelcl/weather-for-grown-ups","website":null,"version":"0.5.5","remotes":[],"packages":[{"registryType":"npm","identifier":"weather-for-grown-ups","version":"0.5.5","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}]}],"tools":[{"name":"compare_datasets","description":"Compare only explicitly registered, scientifically compatible atmospheric dataset pairs at one point and valid time. Registered pairs: …. Pair contracts choose pressure-level or field selection explicitly. Global↔regional strategies require one shared explicit initialization cycle, sample each native grid independently at the requested coordinate, and never silently regrid or downscale. Ensemble c","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_runs","description":"Compare forecast initialization cycles for GFS, GEFS, deterministic ECMWF IFS, or ECMWF IFS ENS through one dataset-aware contract. Deterministic GFS and IFS return newer-minus-older changes; GEFS and IFS ENS return shifts between independently summarized ensemble distributions and never treat member labels as trajectories. IFS ENS can compare 6-hourly cycles or use a 12-hour stride for long-range","write_action":false,"price_micros":0,"input_schema":null},{"name":"diagnose_atmosphere","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_analogs","description":"Find locally materialized historical analyses similar to one target atmospheric profile. The current dataset is gfs-analysis; similarity uses the existing standardized profile metric and U/V wind representation. This is model-state similarity, not climatological rarity or impact-specific similarity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query_atmosphere","description":"Query atmospheric state through one dataset × geometry × time × selection contract across every public dataset: …. Selection may be omitted for the dataset-aware default. Dataset-native domain, cadence, grid, provenance, deterministic/member-first semantics and capability limits stay explicit; unsupported combinations fail rather than being coerced into fake symmetry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_catalog","description":"Search one canonical catalog across all atmospheric datasets. Results use shared variable, field and diagnostic IDs and explicitly list which datasets support each match. Use spatialScope and coverage to discover global or limited-area datasets that fully cover a point or bounded area; capability rows expose native grid, nominal resolution, cadence and horizon. For GEFS, forecastKind can distingui","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_forecast","description":"Verify archived GFS forecasts against either later GFS analysis or IGRA v2.2 radiosondes. Atomic form uses time.at plus one leadHours value. Both references support a bounded skill-summary form using time.from/time.to plus up to three leadHours values: WFG deterministically samples at most eight nominal verification times and aggregates count, signed bias, MAE and RMSE by lead × pressure × field w","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T19:17:43.982Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:17:43.970Z","components":{"code":{"score":25,"max":25,"notes":["760 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"weather-for-grown-ups","version":"0.5.5","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":8,"publishedAt":"2026-09-09T17:41:47.203Z","repositoryUrl":"git+https://github.com/janhelcl/weather-for-grown-ups.git","weeklyDownloads":101}],"repo":{"found":true,"owner":"janhelcl","repo":"weather-for-grown-ups","archived":false,"pushedAt":"2026-09-11T21:23:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/28925272?v=4","ownerCreatedAt":"2017-05-24T13:08:52Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/28925272?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":101,"license":"MIT","lastPushAt":"2026-09-11T21:23:29.000Z","score":25}}}},"grade_history":[],"reviews":[]}