OFS MCP Server
MCP server for NOAA's Operational Forecast System (OFS) — regional hydrodynamic ocean models covering US coastal waters.
Status: Ready
Overview
OFS comprises ~15 regional ocean models providing 48–72 hour forecasts of water levels, temperature, and salinity for US coastal bays, estuaries, and offshore waters. This server provides AI assistants with access to model metadata, cycle availability, and forecast extraction at geographic points.
Supported Models
| Model | Name | Grid | Region |
|---|---|---|---|
cbofs |
Chesapeake Bay OFS | ROMS | Chesapeake Bay, MD/VA |
dbofs |
Delaware Bay OFS | ROMS | Delaware Bay, DE/NJ |
gomofs |
Gulf of Maine OFS | ROMS | Gulf of Maine, ME/MA |
ngofs2 |
N. Gulf of Mexico OFS v2 | FVCOM | Gulf Coast, LA/TX |
nyofs |
New York/NJ Harbor OFS | FVCOM | NY Harbor, NY/NJ |
sfbofs |
San Francisco Bay OFS | FVCOM | San Francisco Bay, CA |
tbofs |
Tampa Bay OFS | FVCOM | Tampa Bay, FL |
wcofs |
West Coast OFS | ROMS | US West Coast, CA–WA |
ciofs |
Cook Inlet OFS | FVCOM | Cook Inlet, AK |
All models run 4× daily (2× for WCOFS) at 00, 06, 12, 18 UTC with 6-minute output resolution.
Tools
| Tool | Description |
|---|---|
ofs_list_models |
List all supported models with metadata |
ofs_get_model_info |
Detailed specs for a specific model |
ofs_list_cycles |
Check S3 for available forecast cycles |
ofs_find_models_for_location |
Which models cover a lat/lon point |
ofs_get_forecast_at_point |
Forecast time series at lat/lon |
ofs_compare_with_coops |
Compare model vs CO-OPS observations |
Data Access
Model data is accessed via two strategies:
- NOAA THREDDS OPeNDAP (
https://opendap.co-ops.nos.noaa.gov/thredds/): lazy remote access to BEST aggregations (most efficient, only loads requested variables/points) - AWS S3 (
noaa-nos-ofs-pds): direct download for single forecast timesteps
Quick Start
cd servers/ofs-mcp
uv sync
uv run ofs-mcp
MCP Client Config
{
"mcpServers": {
"ofs": {
"command": "uv",
"args": ["--directory", "/path/to/ocean-mcp/servers/ofs-mcp", "run", "ofs-mcp"]
}
}
}
Example Queries
- "What OFS models cover the Chesapeake Bay?"
- "List available CBOFS forecast cycles for today"
- "Get the water level forecast at lat 38.98, lon -76.48 from CBOFS"
- "Compare CBOFS water level with CO-OPS observations at station 8571892"
- "What OFS models are available for San Francisco Bay?"
- "Get temperature forecast at lat 37.8, lon -122.4 from SFBOFS"
Variables
All models provide surface-layer output:
| Variable | Units | Description |
|---|---|---|
water_level |
m | Surface elevation relative to model datum |
temperature |
°C | Water temperature at surface sigma layer |
salinity |
PSU | Salinity at surface sigma layer |
Datum Notes
Most OFS models use NAVD88 as their vertical datum. CO-OPS observations use either NAVD or MSL depending on the station. Small systematic offsets (1–5 cm) are expected when comparing model output to observations due to datum differences and distance between CO-OPS stations and model grid points.
Data Sources
License
MIT
Metadata
Release files for ofs-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ofs_mcp-0.1.1.tar.gz | 37.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ofs_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.8 kB
Release files / ofs_mcp-0.1.1.tar.gz
| Download URL | ofs_mcp-0.1.1.tar.gz |
|---|---|
| Size | 37.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b904d929a555b0f5fae59b33d58e1151f2f14ad2261d81b9d5f541b87c9b0bf2
|
|
BLAKE2b-256 checksum How to use checksums |
0b604dbca2a84c632812cbd71ed84b0f515ad86578f765d8dffd6f1cbfd25b7b
|
| 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 / ofs_mcp-0.1.1-py3-none-any.whl
| Download URL | ofs_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 28.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
031ef41f05d7b19b6f0fb6439e2fb7d12f0b2f524a41f5b39c99d592343310ea
|
|
BLAKE2b-256 checksum How to use checksums |
98ce9af920ddfe2cfe89971daed70aa25c7fd09b78637a2728d095e2af5352b0
|
| 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