ERDDAP MCP Server

平台与服务

by mansurjisan

用于访问全球 80 多个 ERDDAP 服务器海洋数据的 MCP 服务器,便于统一检索与获取。

什么是 ERDDAP MCP Server

用于访问全球 80 多个 ERDDAP 服务器海洋数据的 MCP 服务器,便于统一检索与获取。

README

OceanMCP

A monorepo of independently installable MCP servers for ocean and coastal data workflows.

PyPI CI MCP Registry License: MIT

Servers

ServerPyPIDescription
coops-mcpPyPINOAA CO-OPS tides, water levels, currents, meteorological data
erddap-mcpPyPIUniversal ERDDAP data access across 80+ public servers
nhc-mcpPyPINHC storm tracks, advisories, HURDAT2 best track data
recon-mcpPyPIHurricane reconnaissance data (HDOB, Vortex Data Messages, ATCF fixes)
stofs-mcpPyPINOAA STOFS storm surge forecasts and observation validation
ofs-mcpPyPINOAA OFS regional ocean model forecasts (water level, temperature, salinity)
rtofs-mcpPyPINOAA RTOFS global ocean forecasts (SST, salinity, currents, SSH) via HYCOM THREDDS
ww3-mcpPyPIGFS-Wave (WAVEWATCH III) forecasts and NDBC buoy wave observations
ndbc-mcpPyPINOAA NDBC buoy observations — waves, SST, wind, pressure (1,300+ stations)
winds-mcpPyPINWS surface wind observations from ASOS / AWOS stations
usgs-mcpPyPIUSGS Water Services — streamflow, NWS/NWPS flood status, peak events
goes-mcpPyPINOAA GOES-18/19 satellite imagery — visible, infrared, water vapor
adcirc-mcpPyPIADCIRC model setup debugging, parameter lookup, config validation
schism-mcpPyPISCHISM 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.

Quick Start

Install from PyPI

bash
# 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.

Install from source

bash
git clone https://github.com/mansurjisan/ocean-mcp.git
cd ocean-mcp/servers/coops-mcp  # or any other server directory under servers/
uv sync

Configure your MCP client

Add to your MCP settings (e.g., project .mcp.json):

Using PyPI packages (recommended):

json
{
  "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"]
    }
  }
}
<details> <summary>Using local source checkout</summary>
json
{
  "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"]
    }
  }
}
</details>

Example Queries

With servers configured, you can ask your AI assistant naturally:

CO-OPS queries:

  • "Get current water levels at The Battery, NY"
  • "Find tide stations near Miami Beach"
  • "What are the flood statistics for Charleston, SC?"
  • "Show me the sea level trend at San Francisco"

ERDDAP queries:

  • "Search for sea surface temperature datasets on CoastWatch"
  • "Get chlorophyll data off the California coast for January 2024"
  • "What ERDDAP servers cover the US East Coast?"
  • "List all glider datasets on IOOS Gliders ERDDAP"

NHC queries:

  • "Are there any active tropical cyclones right now?"
  • "Show me Hurricane Katrina's track"
  • "Search for Category 5 hurricanes in the Atlantic"
  • "What is the forecast track for the active storm?"

Recon queries:

  • "List HDOB reconnaissance flights for the 2024 Atlantic season"
  • "Get HDOB flight-level observations from October 7, 2024"
  • "Show me the Vortex Data Messages for Hurricane Milton"
  • "Get ATCF aircraft fix data for storm AL14 2024"

STOFS queries:

  • "Get the STOFS water level forecast for The Battery, NY"
  • "Compare STOFS forecast vs observations at Boston for the past 24 hours"
  • "What are the top stations with highest predicted water levels?"
  • "Find STOFS stations within 50 km of New Orleans"

OFS queries:

  • "What OFS models cover the Chesapeake Bay?"
  • "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"
  • "List available NGOFS2 forecast cycles for today"

RTOFS queries:

  • "Get the RTOFS sea surface temperature forecast at 40°N, 74°W"
  • "Show me a temperature depth profile in the Gulf Stream"
  • "What RTOFS datasets are currently available on HYCOM THREDDS?"
  • "Get a vertical transect of salinity from Miami to Bermuda"
  • "Show the SST area forecast for the Gulf of Mexico"

WW3 queries:

  • "What GFS-Wave model grids are available?"
  • "Find NDBC buoys near Cape Hatteras"
  • "Get the latest wave observations from buoy 41025"
  • "Show me the GFS-Wave forecast at 35°N, 75°W for the next 48 hours"
  • "Compare the wave forecast against buoy 41025 observations"

Cross-server queries:

  • "Find CO-OPS stations near this ERDDAP buoy location"
  • "Compare tide station data with nearby ERDDAP satellite SST"
  • "Is there an active hurricane threatening the Gulf Coast? If so, show me the STOFS surge forecast for New Orleans"
  • "Get the CBOFS water level forecast at Chesapeake Bay and compare it with the CO-OPS tide prediction for the same station"
  • "Show me sea surface temperature from ERDDAP near The Battery and the current water level from CO-OPS"
  • "Which NHC storms have hit the Gulf Coast historically? Show the CO-OPS flood statistics for impacted stations"
  • "Get the STOFS gridded forecast and the OFS water level forecast at the same location and compare them"

Architecture

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:

  • FastMCP for MCP server framework
  • httpx for async HTTP clients
  • Pydantic models, with Literal[...] types for constrained parameters
  • Read-only tools by default — the data-fetching servers only fetch, never modify, anything. ufs-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=False
  • response_format output as markdown (default), json, geojson, or image, depending on the tool
  • Actionable error messages with suggestions

See CONVENTIONS.md for the full response/behavior contract (output caps, retrieved_at, error format, HTTP retries, dependency bounds).

Citation

If you use this project in your research or work, please cite:

bibtex
@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, WW3, NDBC, USGS, winds, GOES, ADCIRC, and SCHISM data}
}

License

Licensed under the MIT License. You may use, modify, and distribute this software under the MIT terms. See LICENSE for details.

常见问题

ERDDAP MCP Server 是什么?

用于访问全球 80 多个 ERDDAP 服务器海洋数据的 MCP 服务器,便于统一检索与获取。

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描165.3k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描165.3k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.5k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.1k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.9k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.9k

评论