Skip to content

v0.3.0 — Phase 2: Caching + Climate Data + Warnings Hook

Choose a tag to compare

@malkreide malkreide released this 21 May 04:49
8069cea

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, schreibt data/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