Two decades of monthly climate forms are only useful if you can get the daily table out of them, and `extract_f6_csv` is exactly that — the difference between an archive you can cite and one you can compute over. Everything else is exposed as resources rather than tools, which suits data a model wants to read rather than act on.
A Python server that exposes the Mt Washington Observatory's public data. Current conditions, the full forecast package and the historical F6 climate forms all arrive as MCP resources, with two tools for turning the F6 PDFs into something a model can actually read.
- `weather://current` returns summit temperature, wind, gusts, direction and METAR
- `weather://outlook/summit` and `weather://outlook/valley` return the Higher Summits and Valley forecasts, each with a four-period discussion
- `weather://outlook/statistics` covers the past 24 hours — max and min temperature, peak gust, precipitation, snowfall; `weather://outlook/almanac` covers records, monthly averages and sunrise/sunset
- `f6://current` and `f6://{year}/{month}` return the F6 monthly PDF forms, available from 2005 onward
- `extract_f6_csv(year, month)` pulls the F6 daily data table out as CSV; `list_f6_forms()` lists every year and month combination available
Python 3.14 or newer and `uv`. Clone the repository, run `uv sync`, then `uv run mtw-obs-mcp` — or `uv run python -m mt_washington_mcp`, which does the same thing. Stdio transport. No account and no key: the data comes from the Observatory's public endpoints.
