
Mt Washington Observatory Weather
from spowers42
Weather data from the Mt Washington weather observatory in New Hampshire.
π₯π₯β VerifiedFreeQuick setup
Mt Washington Observatory MCP Server
An MCP (Model Context Protocol) server that exposes real-time weather data from the Mt Washington Observatory as resources, built with FastMCP.
Data Sources
| Endpoint | Contents |
|---|---|
/uploads/json/weather.JSON | Real-time summit conditions (temp, wind, gusts, direction, METAR) |
/uploads/json/outlook.JSON | Full forecast package (summit/valley outlook, 24h statistics, almanac) |
/uploads/pdf/forms/{year}/{month:02d}.pdf | F6 monthly PDF forms (2005βpresent) |
Resources
All data is available as MCP resources:
| URI | Returns | Description |
|---|---|---|
weather://current | JSON | Current summit temperature, wind, gusts, direction, METAR |
weather://outlook/current | JSON | Full outlook metadata (excludes sub-sections with dedicated URIs) |
weather://outlook/summit | JSON | Higher Summits Forecast with 4-period discussion |
weather://outlook/valley | JSON | Valley Forecast with 4-period discussion |
weather://outlook/statistics | JSON | Past 24h: max/min temp, peak gust, precip, snowfall |
weather://outlook/almanac | JSON | Records, monthly averages, sunrise/sunset |
f6://current | PDF (bytes) | Current month's F6 form |
f6://{year}/{month} | PDF (bytes) | F6 form for a specific year/month |
Tools
| Tool | Description |
|---|---|
extract_f6_csv(year?, month?) | Extract F6 PDF daily data table as CSV |
list_f6_forms() | List all available year/month combinations as CSV |
Development
Tests
uv run pytestAll tests use fixture snapshots β no network calls.
Lint & typecheck
uv run ruff check .
uv run mypy src/mt_washington_mcp/Or use the Taskfile.yml:
task check # test + lint + typecheck
task test
task lint
task typecheckProject structure
mt_washington_obs_mcp/
βββ src/mt_washington_mcp/
β βββ client.py # Async httpx WeatherClient
β βββ f6.py # F6 PDF table extraction
β βββ models.py # Pydantic models with validators
β βββ server.py # FastMCP server + resources + tools
β βββ __init__.py # Entry point
β βββ __main__.py # python -m support
βββ tests/
β βββ test_client.py # Client tests with httpx.MockTransport
β βββ test_f6.py # F6 PDF extraction tests
β βββ test_models.py # Model parsing and validation tests
β βββ test_server.py # Resource output format tests
β βββ fixtures/ # Saved API snapshots
βββ .github/workflows/
β βββ ci.yml # GitHub Actions CI
βββ pyproject.toml
βββ Taskfile.ymlCopy & paste β that's it
git clone
cd mt_washington_obs_mcp
uv syncNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.