ww3-mcp
MCP server for NOAA GFS-Wave (WAVEWATCH III) forecasts and NDBC buoy wave observations.
Requirements — ecCodes (native library)
The forecast tools read GFS-Wave GRIB2 via cfgrib, which needs the
ecCodes C library — not pip-installable on every platform. If it's
missing, the GRIB tools return a clear setup message (the NDBC buoy tools work
without it). Install ecCodes one of:
- conda (easiest):
conda install -c conda-forge eccodes cfgrib - Debian/Ubuntu:
apt-get install libeccodes0thenpip install cfgrib - macOS (Homebrew):
brew install eccodesthenpip install cfgrib
Features
- GFS-Wave Forecasts — Wave height, period, direction from NOMADS GRIB2 data (up to 16 days)
- NDBC Buoy Observations — Realtime and historical wave measurements from ~1000+ buoys
- Model Validation — Compare GFS-Wave forecasts against buoy observations
Tools (9)
Discovery
| Tool | Description |
|---|---|
ww3_list_grids |
List 6 GFS-Wave grids with resolution and domain info |
ww3_list_cycles |
Check available forecast cycles on NOAA servers |
ww3_find_buoys |
Find NDBC buoys near a geographic location |
Buoy Observations
| Tool | Description |
|---|---|
ww3_get_buoy_observations |
Recent wave observations from an NDBC buoy |
ww3_get_buoy_history |
Historical annual wave data from NDBC archive |
Wave Forecasts
| Tool | Description |
|---|---|
ww3_get_forecast_at_point |
GFS-Wave forecast time series at a lat/lon |
ww3_get_point_snapshot |
All wave variables at a single point/time |
ww3_get_regional_summary |
Spatial statistics over a bounding box |
ww3_compare_forecast_with_buoy |
Model vs buoy validation (bias, RMSE, MAE) |
Installation
# Using uvx (recommended)
uvx ww3-mcp
# Or install with pip
pip install ww3-mcp
Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"ww3": {
"command": "uvx",
"args": ["ww3-mcp"]
}
}
}
Data Sources
- NOMADS Grib Filter — GFS-Wave GRIB2 data subsetted by variable and region
- AWS S3 (noaa-gfs-bdp-pds) — Cycle availability checks
- NDBC Realtime2 — ~45 days of buoy observations
- NDBC Active Stations — Station registry XML
All data sources are free, public NOAA APIs. No API keys required.
Development
cd servers/ww3-mcp
uv sync --group dev
uv run pytest tests/ --ignore=tests/test_live.py --ignore=tests/test_mcp_protocol.py -v
License
MIT
Metadata
Release files for ww3-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ww3_mcp-0.1.2.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ww3_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.6 kB
Release files / ww3_mcp-0.1.2.tar.gz
| Download URL | ww3_mcp-0.1.2.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f3e3a100e07b3b4435c89f411b1f3845693a05f21f51eb91e99e48b3d0b34c9
|
|
BLAKE2b-256 checksum How to use checksums |
c3a2b43dd343decbffd14f9c7b7a3e348aecac6b6ad1c99f5832a61382e45b15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / ww3_mcp-0.1.2-py3-none-any.whl
| Download URL | ww3_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 24.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3797aef4f3659087861f57d3cc9ee3cd66654dd28153e6e4c5990725985dea92
|
|
BLAKE2b-256 checksum How to use checksums |
06d8496c85cfa8093bc21c3396dfecc0ff0069b3fb2f11a8f004225ff49202be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log