Pulls satellite imagery from NOAA's GOES-18 and GOES-19 satellites in visible, infrared, and water vapor bands, plus RGB composites. Part of the larger OceanMCP collection focused on ocean and coastal data workflows. No API keys required since it taps free public NOAA datasets. Useful when you need current satellite views for weather analysis, storm monitoring, or verifying model outputs against actual cloud cover and surface conditions. The server is one of fourteen in the monorepo, so you can pair it with nhc-mcp for storm tracks or ndbc-mcp for buoy observations to cross-reference satellite imagery with ground truth data.
A monorepo of independently installable MCP servers for ocean and coastal data workflows.
| Server | PyPI | Description |
|---|---|---|
| coops-mcp | NOAA CO-OPS tides, water levels, currents, meteorological data | |
| erddap-mcp | Universal ERDDAP data access across 80+ public servers | |
| nhc-mcp | NHC storm tracks, advisories, HURDAT2 best track data | |
| recon-mcp | Hurricane reconnaissance data (HDOB, Vortex Data Messages, ATCF fixes) | |
| stofs-mcp | NOAA STOFS storm surge forecasts and observation validation | |
| ofs-mcp | NOAA OFS regional ocean model forecasts (water level, temperature, salinity) | |
| rtofs-mcp | NOAA RTOFS global ocean forecasts (SST, salinity, currents, SSH) via HYCOM THREDDS | |
| ww3-mcp | GFS-Wave (WAVEWATCH III) forecasts and NDBC buoy wave observations | |
| ndbc-mcp | NOAA NDBC buoy observations — waves, SST, wind, pressure (1,300+ stations) | |
| winds-mcp | NWS surface wind observations from ASOS / AWOS stations | |
| usgs-mcp | USGS Water Services — streamflow, NWS/NWPS flood status, peak events | |
| goes-mcp | NOAA GOES-18/19 satellite imagery — visible, infrared, water vapor | |
| adcirc-mcp | ADCIRC model setup debugging, parameter lookup, config validation | |
| schism-mcp | SCHISM model setup debugging, parameter lookup, config validation |
No API keys required — all servers use free, publicly available datasets.
Additional servers live in this repo but are not yet published to PyPI (install from source): vdatum-mcp (vertical datum conversion), hpc-system-mcp and ufs-runner-mcp (NOAA RDHPCS / UFS-Coastal HPC workflows), and alert-mcp (CO-OPS threshold alerting).
# uvx (recommended) — runs without permanent install, like npx for Python
uvx coops-mcp
# pip — install into current environment
pip install coops-mcp
# pipx — install in isolated environment with CLI entry point
pipx install coops-mcp
Replace coops-mcp with any published server: erddap-mcp, nhc-mcp, recon-mcp, stofs-mcp, ofs-mcp, rtofs-mcp, ww3-mcp, ndbc-mcp, winds-mcp, usgs-mcp, goes-mcp, adcirc-mcp, schism-mcp.
git clone https://github.com/mansurjisan/ocean-mcp.git
cd ocean-mcp/servers/coops-mcp # or any other server directory under servers/
uv sync
Add to your MCP settings (e.g., project .mcp.json):
Using PyPI packages (recommended):
{
"mcpServers": {
"coops": {
"command": "uvx",
"args": ["coops-mcp"]
},
"erddap": {
"command": "uvx",
"args": ["erddap-mcp"]
},
"nhc": {
"command": "uvx",
"args": ["nhc-mcp"]
},
"recon": {
"command": "uvx",
"args": ["recon-mcp"]
},
"stofs": {
"command": "uvx",
"args": ["stofs-mcp"]
},
"ofs": {
"command": "uvx",
"args": ["ofs-mcp"]
},
"rtofs": {
"command": "uvx",
"args": ["rtofs-mcp"]
},
"ww3": {
"command": "uvx",
"args": ["ww3-mcp"]
}
}
}
{
"mcpServers": {
"coops": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/coops-mcp", "python", "-m", "coops_mcp"]
},
"erddap": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/erddap-mcp", "python", "-m", "erddap_mcp"]
},
"nhc": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/nhc-mcp", "python", "-m", "nhc_mcp"]
},
"recon": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/recon-mcp", "python", "-m", "recon_mcp"]
},
"stofs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/stofs-mcp", "python", "-m", "stofs_mcp"]
},
"ofs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/ofs-mcp", "python", "-m", "ofs_mcp"]
},
"rtofs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/rtofs-mcp", "python", "-m", "rtofs_mcp"]
},
"ww3": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ocean-mcp/servers/ww3-mcp", "python", "-m", "ww3_mcp"]
}
}
}
With servers configured, you can ask your AI assistant naturally:
CO-OPS queries:
ERDDAP queries:
NHC queries:
Recon queries:
STOFS queries:
OFS queries:
RTOFS queries:
WW3 queries:
Cross-server queries:
Each server is fully self-contained with its own pyproject.toml, dependencies, and tests. See docs/architecture.md for details on shared conventions.
Shared patterns across servers:
If you use this project in your research or work, please cite:
@software{jisan2025oceanmcp,
author = {Jisan, Mansur Ali},
title = {Ocean MCP: Real-Time Marine Data, MCP-Native},
year = {2025},
url = {https://github.com/mansurjisan/ocean-mcp},
note = {MCP servers for NOAA CO-OPS, ERDDAP, NHC, Recon, STOFS, OFS, RTOFS, and WW3 data}
}
Licensed under the MIT License. You may use, modify, and distribute this software under the MIT terms. See LICENSE for details.