v0.3.0 — Phase 2: Caching + Climate Data + Warnings Hook
Phase-2-Release. Kein Breaking Change gegenüber 0.2.0 — alle neuen Features sind opt-in via ENV.
Highlights
- Performance: TTL-Cache für alle Upstream-Calls (STAC, Open-Meteo, Geocoding, opendata.swiss). Asyncio-safe, per-Endpoint-TTLs via ENV, default 5 min für Live-Daten / 1 h für Stammdaten.
- Klimanormwerte 1991–2020 für 19 SMN-Stationen in
data/climate-normals.json, ingested aus der offiziellen MeteoSwiss-NBCN-Publikation: BAS, BER, CHU, DAV, GVE, INT, JUN, KLO, LUG, LUZ, PIL, PUY, REH, SAE, SIO, SMA, STG, TAE, WAE (REC nicht in NBCN). Vorher: nur 5 eingebettete Stationen. - Runtime-Lookup für Klimadaten via
MCP_CLIMATE_NORMALS_URL_TEMPLATE— fängt Stationen ab, die weder eingebettet noch in der JSON sind (z.B. via STAC). - Strukturierte Warnings-API via
MCP_WARNINGS_API_URL— Hook für die geplante MeteoSwiss-OGD-Phase-2-API. Schema-tolerant (GeoJSON /warnings-Array /items). - Ingest-Skript:
python scripts/ingest_climate_normals.py --dir <path>scannt einen MeteoSwiss-NBCN-Dump-Ordner, filtert relevante Parameter, schreibtdata/climate-normals.json(Tab-separated TSV, cp1252-encoded).
Neue ENV-Variablen
| Variable | Default | Zweck |
|---|---|---|
MCP_CACHE_ENABLED |
1 |
TTL-Cache an/aus |
MCP_CACHE_TTL_STAC |
300 |
SMN-Now-Beobachtungen |
MCP_CACHE_TTL_OPEN_METEO |
600 |
ICON-Prognosen |
MCP_CACHE_TTL_GEOCODING |
3600 |
Geocoding |
MCP_CACHE_TTL_OPENDATA |
3600 |
opendata.swiss-Katalog |
MCP_CACHE_TTL_WARNINGS |
300 |
Strukturierte Warnings-API |
MCP_CACHE_TTL_STAC_CLIMATE |
86400 |
Climate-Runtime-Lookup |
MCP_CLIMATE_NORMALS_PATH |
unset | Pfad auf climate-normals.json |
MCP_CLIMATE_NORMALS_URL_TEMPLATE |
unset | URL-Template mit {station} / {STATION} / {param} |
MCP_WARNINGS_API_URL |
unset | URL der strukturierten Warnings-API |
Vollständiges CHANGELOG
Siehe CHANGELOG.md.
Upgrade-Pfad
# uvx
uvx meteoswiss-mcp@0.3.0
# pip
pip install -U meteoswiss-mcp==0.3.0