MCP server for NOAA RTOFS global ocean forecast data via HYCOM THREDDS
Project description
RTOFS MCP Server
MCP server for accessing NOAA RTOFS (Real-Time Ocean Forecast System) global ocean forecast data. Provides SST, salinity, ocean currents, and sea surface height from the operational HYCOM/ESPC model via the HYCOM THREDDS Data Server.
Features
- Global 1/12° ocean forecasts (~8 km resolution)
- 8-day forecast horizon, updated daily
- Temperature, salinity, currents at all depth levels
- Sea surface height (SSH) at hourly resolution
- Point queries, depth profiles, area grids, and vertical transects
- Pure httpx — no NetCDF/xarray dependencies needed
Installation
# Using uvx (recommended)
uvx rtofs-mcp
# Using pip
pip install rtofs-mcp
Tools
| Tool | Description |
|---|---|
rtofs_get_system_info |
RTOFS overview — resolution, variables, coverage (no HTTP) |
rtofs_list_datasets |
List HYCOM THREDDS datasets with live availability check |
rtofs_get_latest_time |
Query latest forecast time from THREDDS |
rtofs_get_surface_forecast |
Surface time series at a point (SST, SSS, currents, SSH) |
rtofs_get_profile_forecast |
3D depth profile at a point (temp, salinity, currents vs depth) |
rtofs_get_area_forecast |
Surface forecast for a bounding box (parallel point queries) |
rtofs_get_transect |
Vertical transect between two points (parallel depth profiles) |
rtofs_compare_with_observations |
Compare forecast values at different times |
Example Queries
- "What is the current SST at The Battery, NYC?"
- "Show me a temperature depth profile at 35°N, 74°W in the Gulf Stream"
- "Get the SST forecast for the next 8 days at latitude 25, longitude -80"
- "Show a vertical transect of temperature from Miami to Bermuda"
- "What are the ocean currents at 40°N, 74°W?"
Data Source
HYCOM THREDDS Data Server (https://tds.hycom.org/thredds/)
ESPC-D-V02 datasets (operational HYCOM/RTOFS):
FMRC_ESPC-D-V02_ssh— Sea Surface Height (2D, hourly)FMRC_ESPC-D-V02_t3z— Water Temperature (3D, daily)FMRC_ESPC-D-V02_s3z— Salinity (3D, daily)FMRC_ESPC-D-V02_uv3z— Ocean Currents u/v (3D, daily)
Data is queried via THREDDS NCSS (NetCDF Subset Service) which returns CSV for point queries — no NetCDF library required.
Configuration
Claude Desktop
{
"mcpServers": {
"rtofs": {
"command": "uvx",
"args": ["rtofs-mcp"]
}
}
}
Development
cd servers/rtofs-mcp
uv sync --group dev
uv run rtofs-mcp # Start server
uv run pytest tests/ --ignore=tests/test_live.py -v # Unit tests
uv run pytest tests/test_live.py -v # Integration tests
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rtofs_mcp-0.1.0.tar.gz.
File metadata
- Download URL: rtofs_mcp-0.1.0.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71139e3f88d1081af581188cb634ad5d0c0e305527172c8503178c409880187e
|
|
| MD5 |
cc1684f5f49e04e6e4da20cbb45da522
|
|
| BLAKE2b-256 |
f8bbeec3f566d3706ce0ac05d1563764231c38cfe3115bb16bebe76da71aa023
|
Provenance
The following attestation bundles were made for rtofs_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on mansurjisan/ocean-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rtofs_mcp-0.1.0.tar.gz -
Subject digest:
71139e3f88d1081af581188cb634ad5d0c0e305527172c8503178c409880187e - Sigstore transparency entry: 1078085071
- Sigstore integration time:
-
Permalink:
mansurjisan/ocean-mcp@671b5d8ce05f943c6178385ea402a01e8481f1a4 -
Branch / Tag:
refs/tags/rtofs-mcp-v0.1.0 - Owner: https://github.com/mansurjisan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@671b5d8ce05f943c6178385ea402a01e8481f1a4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rtofs_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rtofs_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8bff5106d12828b80de0dc0fc7d8632954091d717d47272a5cdf89108baf4f4
|
|
| MD5 |
b8807b1af997c37e852f94d018b4e46b
|
|
| BLAKE2b-256 |
754a114c6a33a865a580dafa49164fd66e0fa9337a32478ff3b23e4be5ae3913
|
Provenance
The following attestation bundles were made for rtofs_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on mansurjisan/ocean-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rtofs_mcp-0.1.0-py3-none-any.whl -
Subject digest:
a8bff5106d12828b80de0dc0fc7d8632954091d717d47272a5cdf89108baf4f4 - Sigstore transparency entry: 1078085112
- Sigstore integration time:
-
Permalink:
mansurjisan/ocean-mcp@671b5d8ce05f943c6178385ea402a01e8481f1a4 -
Branch / Tag:
refs/tags/rtofs-mcp-v0.1.0 - Owner: https://github.com/mansurjisan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@671b5d8ce05f943c6178385ea402a01e8481f1a4 -
Trigger Event:
push
-
Statement type: