
If you're running SCHISM ocean model simulations and need to debug configuration files or validate parameters, this gives you that capability through Claude. It's part of the OceanMCP collection focused on coastal modeling workflows. Think of it as having a reference guide for SCHISM's param.nml settings that you can query conversationally instead of digging through documentation. You can look up valid parameter ranges, check syntax, and troubleshoot setup issues before launching expensive model runs. It's most useful when you're setting up a new domain or inheriting someone else's configuration and need to verify the parameters make sense.
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 for the data servers — all servers above use free, publicly available datasets. The exceptions are hpc-system-mcp and ufs-runner-mcp (below), which require actual NOAA RDHPCS cluster access and, in ufs-runner-mcp's case, submit real Slurm jobs.
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 — require cluster access), and alert-mcp (CO-OPS threshold alerting).
There is also a 19th server in this repo, nos-workflow-mcp, which is experimental and still a work in progress (its full implementation lives on an unmerged branch — main carries only a minimal subset). It's intentionally left out of the table above and not yet ready for general use.
# 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/oceanmodeling/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:
Literal[...] types for constrained parametersufs-runner-mcp (submits/cancels Slurm jobs) and
alert-mcp (creates/pauses/deletes in-memory alert state) are the two
exceptions, each with a small number of tools marked readOnlyHint=Falseresponse_format output as markdown (default), json, geojson, or image, depending on the toolSee CONVENTIONS.md for the full response/behavior contract (output caps, retrieved_at, error format, HTTP retries, dependency bounds).
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/oceanmodeling/ocean-mcp},
note = {MCP servers for NOAA CO-OPS, ERDDAP, NHC, Recon, STOFS, OFS, RTOFS, WW3, NDBC, USGS, winds, GOES, ADCIRC, and SCHISM data}
}
Licensed under the MIT License. You may use, modify, and distribute this software under the MIT terms. See LICENSE for details.