
foehn
io.github.kayhendriksenPublished by GitHub account kayhendriksenv0.5.0Updated Oct 25, 2026
Access Swiss meteorological open data from MeteoSwiss, powered by foehn
Overview
MCP server that gives an assistant live access to Swiss MeteoSwiss open weather data, including station, radar, forecast and climate collections.
- What you can do
- Query MeteoSwiss open data collections through the bundled MCP server
- Read station measurements as tabular data and gridded climate, forecast and radar datasets
- Work across 20+ collections covering weather stations, radar, hail maps, forecasts and climate scenarios
- Rely on the underlying library to download, convert to Parquet and open grids as xarray or Zarr
- When to use it
- Useful when you want an assistant to answer questions about Swiss weather, climate or radar data from MeteoSwiss without manually downloading files. It fits analysis and exploration of official Swiss meteorological open data.
- Requirements
- Runs locally over stdio as a Python package (Python 3.11 or later); install with the mcp extra and start it with the foehn mcp command. Network access to the MeteoSwiss STAC API is needed to fetch data. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open foehn in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[foehn]
MeteoSwiss Open Data — Python API, CLI & MCP server · tabular as DataFrames/Parquet, gridded as xarray/Zarr
[PyPI Latest Release] [Python Versions] [MIT License] [OpenSSF Scorecard] [Monthly Downloads]
foehn downloads every MeteoSwiss OGD collection via the STAC API, converts CSV/TXT station data to Parquet with Polars, and opens gridded collections — NetCDF climate grids, GRIB2 forecasts, and ODIM radar composites — as xarray Datasets or Zarr stores. It can optionally ingest everything into Databricks Unity Catalog Delta tables on a daily schedule, and ships an MCP server so LLMs can query Swiss weather data directly.
[Daily weather in Bern, powered by foehn]
Daily weather in Bern, powered by foehn's MCP server and MeteoSwiss open data.
Why foehn?
- 20+ collections in one command — weather stations, radar, hail maps, forecasts, climate scenarios, and more
- Tabular and gridded — CSV station data as Polars DataFrames or Parquet; NetCDF, GRIB2 and ODIM radar grids as xarray Datasets or Zarr stores
- MCP server for LLMs — give your favorite LLM live access to MeteoSwiss data with the MCP server
- Significantly smaller on disk — columnar Parquet with Zstandard compression vs. raw CSVs
- Incremental by default — only re-downloads files that changed since your last run, tracked per dataset and time slice in
_last_run.json - No Spark required locally — download + conversion uses Polars only; Spark is optional for Delta ingestion
- Ships a Declarative Automation Bundle — ready-to-deploy daily job and historical backfill, no pipeline config needed
Quick start
Recent data (Jan 1 to yesterday) is downloaded and converted to Parquet under ./data/meteoswiss/.
Installation
From PyPI:
From source:
With extras:
Requires Python 3.11 or later.
Python API
Load data directly into Polars DataFrames, explore metadata, download to disk, and convert to Parquet — all from Python. See the full Python API documentation.
CLI
The CLI mirrors the Python API with subcommands for downloading, converting, loading, and inspecting metadata. See the full CLI documentation.
Gridded data
NetCDF climate grids/normals/scenarios, GRIB2 forecasts (ICON-CH1/CH2, KENDA), and HDF5/ODIM radar composites all open as xarray Datasets instead of DataFrames. One extra covers them: pip install "foehn[grids]". See the gridded data documentation.
MCP server
Give any MCP-compatible LLM live access to MeteoSwiss data. See the full MCP server documentation.
Documentation
Data sources
License
MIT
Source: README.md at commit 5605af1
Tools
0Version history
2- v0.5.0LatestOct 25, 2026
- v0.4.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts