NOAA RTOFS MCP Server について
NOAA RTOFS MCP Serverは、OceanMCPで個別にインストールできるサーバーの一つで、HYCOM THREDDS経由でNOAAの全球海洋予報データを提供します。海面水温、塩分、海流、海面高度などの予報値を扱う海洋データワークフロー向けです。
主な機能
- 01NOAA RTOFSの全球予報
- 02HYCOM THREDDSデータへのアクセス
- 03海面水温と塩分
- 04海流と海面高度
- 05水温プロファイルと断面
活用シーン
- 01指定地点の海面水温予報を取得
- 02湾流の水温プロファイルを確認
- 03地点間の塩分断面を取得
- 04利用可能なRTOFSデータセットを確認
MCP 対応
このサーバーはMCPツールを通じてNOAA RTOFSの予報データを提供し、HYCOM THREDDS経由のデータアクセスにも対応します。MCPクライアントからデータセットを調べ、予報値、プロファイル、断面、領域予報を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OceanMCP
海洋・沿岸データのワークフロー向けに、個別にインストールできる MCP サーバーをまとめたモノレポです。
サーバー
| サーバー | PyPI | 説明 |
|---|---|---|
| coops-mcp | NOAA CO-OPS の潮汐、水位、海流、気象データ | |
| erddap-mcp | 80 以上の公開サーバーに対応する、汎用的な ERDDAP データアクセス | |
| nhc-mcp | NHC の暴風雨経路、注意報、HURDAT2 のベストトラックデータ | |
| recon-mcp | ハリケーン偵察データ(HDOB、Vortex Data Messages、ATCF の位置情報) | |
| stofs-mcp | NOAA STOFS の高潮予測と観測データの検証 | |
| ofs-mcp | NOAA OFS の地域海洋モデル予測(水位、気温、塩分濃度) | |
| rtofs-mcp | HYCOM THREDDS 経由の NOAA RTOFS 全球海洋予測(SST、塩分濃度、海流、SSH) | |
| ww3-mcp | GFS-Wave(WAVEWATCH III)予測と NDBC ブイの波浪観測 | |
| ndbc-mcp | NOAA NDBC ブイの観測データ — 波浪、SST、風、気圧(1,300 以上の観測所) | |
| winds-mcp | ASOS / AWOS 観測所の NWS 地上風観測データ | |
| usgs-mcp | USGS Water Services — 河川流量、NWS/NWPS の洪水状況、ピークイベント | |
| goes-mcp | NOAA GOES-18/19 の衛星画像 — 可視光、赤外線、水蒸気 | |
| adcirc-mcp | ADCIRC モデルのセットアップのデバッグ、パラメーター検索、設定の検証 | |
| schism-mcp | SCHISM モデルのセットアップのデバッグ、パラメーター検索、設定の検証 |
データサーバーに API キーは不要です — 上記のすべてのサーバーは、無料で公開されているデータセットを使用します。例外は hpc-system-mcp と ufs-runner-mcp(下記)で、実際の NOAA RDHPCS クラスターへのアクセスが必要です。また、ufs-runner-mcp は実際の Slurm ジョブを投入します。
このリポジトリには、PyPI にはまだ公開されていない追加のサーバーもあります(ソースからインストールしてください)。vdatum-mcp(鉛直基準面の変換)、hpc-system-mcp と ufs-runner-mcp(NOAA RDHPCS / UFS-Coastal HPC ワークフロー — クラスターへのアクセスが必要)、alert-mcp(CO-OPS のしきい値アラート機能)です。
このリポジトリには 19 番目のサーバー nos-workflow-mcp もありますが、実験段階で、現在も開発中です(完全な実装はまだマージされていないブランチにあり、main に含まれているのは最小限のサブセットのみです)。意図的に上の表から除外しており、一般利用の準備はまだ整っていません。
クイックスタート
PyPI からインストール
# 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
coops-mcp を、公開済みの任意のサーバーに置き換えてください: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
MCP クライアントを設定する
MCP 設定に追加します(例:プロジェクトの .mcp.json)。
PyPI パッケージを使用する場合(推奨):
{
"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"]
}
}
}
クエリの例
サーバーを設定すると、AI アシスタントに自然な言葉で質問できます。
CO-OPS のクエリ:
- 「ニューヨーク州バッテリーの現在の水位を取得して」
- 「マイアミビーチ付近の潮位観測所を探して」
- 「サウスカロライナ州チャールストンの洪水統計は?」
- 「サンフランシスコの海面水位の傾向を見せて」
ERDDAP のクエリ:
- 「CoastWatch の海面水温データセットを検索して」
- 「2024 年 1 月のカリフォルニア沿岸沖のクロロフィルデータを取得して」
- 「米国東海岸を対象とする ERDDAP サーバーは?」
- 「IOOS Gliders ERDDAP のグライダーデータセットをすべて一覧表示して」
NHC のクエリ:
- 「現在、活動中の熱帯低気圧はある?」
- 「ハリケーン・カトリーナの進路を見せて」
- 「大西洋のカテゴリー 5 のハリケーンを検索して」
- 「活動中の嵐の予報進路は?」
Recon のクエリ:
- 「2024 年の大西洋シーズンの HDOB 偵察飛行を一覧表示して」
- 「2024 年 10 月 7 日の HDOB 飛行高度観測データを取得して」
- 「ハリケーン・ミルトンの Vortex Data Messages を見せて」
- 「嵐 AL14 2024 の ATCF 航空機観測点データを取得して」
STOFS のクエリ:
- 「ニューヨーク州バッテリーの STOFS 水位予報を取得して」
- 「過去 24 時間のボストンにおける STOFS 予報と観測値を比較して」
- 「予測水位が最も高い上位の観測所は?」
- 「ニューオーリンズから 50 km 以内の STOFS 観測所を探して」
OFS のクエリ:
- 「チェサピーク湾を対象とする OFS モデルは?」
- 「CBOFS から緯度 38.98、経度 -76.48 の水位予報を取得して」
- 「観測所 8571892 の CBOFS 水位と CO-OPS の観測値を比較して」
- 「今日利用可能な NGOFS2 の予報サイクルを一覧表示して」
RTOFS のクエリ:
- 「北緯 40°、西経 74°の RTOFS 海面水温予報を取得して」
- 「メキシコ湾流の水温深度プロファイルを見せて」
- 「現在 HYCOM THREDDS で利用可能な RTOFS データセットは?」
- 「マイアミからバミューダまでの塩分の鉛直断面を取得して」
- 「メキシコ湾の SST 領域予報を見せて」
WW3 のクエリ:
- 「利用可能な GFS-Wave モデルのグリッドは?」
- 「ケープ・ハッテラス付近の NDBC ブイを探して」
- 「ブイ 41025 の最新の波浪観測データを取得して」
- 「北緯 35°、西経 75°の今後 48 時間の GFS-Wave 予報を見せて」
- 「波浪予報とブイ 41025 の観測値を比較して」
サーバー横断クエリ:
- 「この ERDDAP ブイの位置付近にある CO-OPS 観測所を探して」
- 「潮位観測所のデータと近隣の ERDDAP 衛星 SST を比較して」
- 「メキシコ湾岸を脅かす活動中のハリケーンはある?ある場合は、ニューオーリンズの STOFS 高潮予報を見せて」
- 「チェサピーク湾の CBOFS 水位予報を取得し、同じ観測所の CO-OPS 潮位予測と比較して」
- 「バッテリー付近の ERDDAP 海面水温と、CO-OPS の現在の水位を見せて」
- 「過去にメキシコ湾岸に上陸した NHC の嵐は?影響を受けた観測所の CO-OPS 洪水統計を見せて」
- 「同じ場所の STOFS 格子予報と OFS 水位予報を取得して、比較して」
アーキテクチャ
各サーバーは、独自の pyproject.toml、依存関係、テストを備えた完全に独立した構成です。共通の規約については、docs/architecture.md をご覧ください。
サーバー間で共通するパターン:
- MCP サーバーのフレームワークには FastMCP を使用
- 非同期 HTTP クライアントには httpx を使用
- Pydantic モデルを使用し、制約付きパラメーターには
Literal[...]型を使用 - デフォルトでは読み取り専用ツールです。データ取得サーバーはデータを取得するだけで、変更は一切行いません。例外は、Slurm ジョブを送信・キャンセルする
ufs-runner-mcpと、メモリ内のアラート状態を作成・一時停止・削除するalert-mcpの 2 つです。どちらもreadOnlyHint=Falseに設定されたツールは少数です - ツールに応じて、
response_formatの出力形式は Markdown(デフォルト)、JSON、GeoJSON、または画像 - 次のアクションを提案するエラーメッセージ
応答と動作に関する完全な仕様(出力上限、retrieved_at、エラー形式、HTTP リトライ、依存関係のバージョン範囲)については、CONVENTIONS.md をご覧ください。
引用
このプロジェクトを研究や業務で使用する場合は、次の形式で引用してください。
@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}
}
ライセンス
MIT ライセンスのもとでライセンスされています。MIT ライセンスの条件に従い、このソフトウェアを使用、変更、配布できます。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。