Skip to main content

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 libeccodes0 then pip install cfgrib
  • macOS (Homebrew): brew install eccodes then pip 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)

Source distribution for ww3-mcp 0.1.2
File Size Uploaded
ww3_mcp-0.1.2.tar.gz 30.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ww3-mcp 0.1.2
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page