NOAA Tides and Currents について
NOAA Tides and Currents は、NOAA CO-OPS のデータと関連する気象・天文情報を照会する MCP サーバーです。沿岸データの調査や分析向けに、潮汐、水位、海流、海面、観測所、太陽・月のツールを提供し、Markdown または JSON で結果を返します。
主な機能
- 01水位、潮汐予測、海流データの取得
- 02観測所の検索と潮汐基準メタデータの取得
- 03海面傾向、予測、高潮洪水情報の照会
- 04風と海洋の予報取得
- 05日出没、月相、太陽位置の計算
活用シーン
- 01特定地点の満潮・干潮時刻を確認
- 02潮汐、海流、風、日照を出航前にまとめる
- 03観測所の高潮洪水履歴と予測を比較
- 04近隣の観測所を探して利用可能なデータを確認
MCP 対応
MCP サーバーは NOAA CO-OPS データ、NWS 気象、ローカルの天文計算ツールを公開し、潮汐レポートや航行条件向けのリソースとプロンプトも提供します。ツール結果は Markdown と JSON に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌊 NOAA Tides & Currents MCP Server
NOAA CO-OPS の潮汐・海流データ向け Model Context Protocol サーバー
Cardin Labs が開発 · Perigee でホスト
水位 · 潮汐予測 · 海流 · 海洋気象 · 観測所メタデータ · 潮汐基準面 · 調和定数 · 海面水位の傾向と予測 · 高潮による浸水 · 太陽と月の計算
クイックスタート
# Run immediately with npx
npx @ryancardin/noaa-tides-currents-mcp-server
# Or the short alias
npx noaa-mcp
Claude Desktop / Claude Code の設定
{
"mcpServers": {
"noaa": {
"command": "npx",
"args": ["-y", "@ryancardin/noaa-tides-currents-mcp-server"]
}
}
}
Claude Code のワンライナー:
claude mcp add noaa -- npx -y @ryancardin/noaa-tides-currents-mcp-server
HTTP モード(任意)
npx noaa-mcp --http --port 3000 # stateless streamable HTTP at http://localhost:3000/mcp
API キーは不要です。NOAA の CO-OPS API は公開されています。
ツール(25)
観測値と予測値(Data API)
| ツール | 機能 |
|---|---|
noaa_get_water_levels | 観測水位:1分、6分、または1時間間隔の時系列。速報値/確定値の品質フラグをデコードします |
noaa_get_water_level_summaries | high_low(日次の最高・最低値 HH/H/L/LL)、daily_mean(五大湖)、daily_max_min、monthly_mean の基準面テーブル |
noaa_get_tide_predictions | 調和潮汐予測 — hilo の満潮/干潮イベント(最長10年)または間隔時系列 |
noaa_get_currents | 深度ビンごとの観測海流の速度/方向(ADCP)。任意でビーム診断情報も取得できます |
noaa_get_current_predictions | 海流予測 — max_slack の上げ潮/下げ潮/憩流イベント、または間隔時系列 |
noaa_get_meteorological_data | 風、気温/水温、気圧、空隙(橋梁クリアランス)、電気伝導度、視程、湿度、塩分濃度 |
観測所の検索とメタデータ(Metadata API)
| ツール | 機能 |
|---|---|
noaa_search_stations | 能力の種類、名前の部分一致、州で観測所ディレクトリを検索 — ページネーション対応 |
noaa_find_nearest_stations | 任意の緯度/経度から最寄りの観測所を検索(大圏距離、ディレクトリをキャッシュ)。種類で絞り込み可能 |
noaa_get_station_info | センサー、浸水レベル、基準点、ビン、設置履歴などを展開できる観測所の全記録 |
noaa_get_station_datums | 潮汐基準面の標高(MLLW、MSL、MHHW、NAVD88 など)、HAT/LAT、過去の極値、現行または旧基準期間 |
noaa_get_harmonic_constituents | 観測所の予測値を構成する M2/S2/K1/... の調和定数(水位または海流の楕円形式) |
noaa_get_prediction_offsets | 基準観測所に対する従属観測所の時刻/潮高の補正値(潮汐または海流) |
気候と派生プロダクト(DPAPI)
| ツール | 機能 |
|---|---|
noaa_get_sea_level_trends | 誤差範囲と観測期間を含む、長期的な相対海面水位の傾向 |
noaa_get_sea_level_rise_projections | 2022年の省庁間海面上昇(SLR)シナリオ予測。2150年まで10年ごと |
noaa_get_extreme_water_levels | 年間超過確率に基づく水位(例:「100年に一度」の水位) |
noaa_get_top_ten_water_levels | 観測史上最高の水位と、その原因となった現象(ハリケーン、ノーイースターなど) |
noaa_get_high_tide_flooding | HTF の浸水日数(日次/月次/季節別/年次)、見通し、10年ごとの予測、発生確率 |
天文学(ローカルで計算)
| ツール | 機能 |
|---|---|
astro_get_moon_phase | 日付または期間の月相、照度、月齢、距離(大潮・小潮の状況) |
astro_get_next_moon_phase | 次の新月・満月・上弦・下弦の日付 |
astro_get_sun_times | 任意の場所・日付の日の出・日の入り、薄明、ゴールデンアワー、昼の長さ |
astro_get_sun_position | 方位角・高度(およその赤緯・赤経も表示) |
astro_get_next_sun_event | 任意の日照イベントの次回発生時刻 |
風・海洋予報(NWS Weather API)
| ツール | 機能 |
|---|---|
nws_get_wind_forecast | 米国内の任意の緯度・経度の時間ごとの数値風予報(風速・突風・風向。格子データがある場合は波高も表示)、最大約7日先まで |
nws_get_marine_forecast | 緯度・経度を含む海洋区域の公式沿岸水域予報の文章(小型船舶注意報を含む) |
参照情報
| ツール | 機能 |
|---|---|
noaa_get_reference_guide | NOAA の厳選リファレンス:プロダクト、基準面、単位、タイムゾーン、間隔、観測所の種類、データ制限、品質フラグ、日付形式、海洋予報 |
すべてのツールは response_format: "markdown"(単位を明記した読みやすい表。デフォルト)または "json"(完全な構造化ペイロード)に対応しており、これを利用する MCP クライアント向けに構造化コンテンツを添付します。
リソース
noaa://guide/getting-started— ワークフローのレシピとよくある注意点noaa://reference/{topic}— 上記10項目のリファレンストピックをピン留め可能なリソースとして提供
プロンプト
tide_report— 場所・観測所と日付を指定した潮汐レポートboating_conditions— 出航前の状況説明:潮汐、潮流、風、日照時間station_flood_risk— 洪水リスクの概要:HTF の履歴、極値、傾向、予測station_overview— 観測所が提供するすべての情報
扱いに注意が必要な点(自動で処理)
NOAA の API の扱いが難しい点を、このサーバーが処理します。
- 基準面は重要です。 高さは鉛直基準がなければ意味を持ちません。既定値は MLLW(海図基準面)です。観測所によって対応する基準面は異なります(五大湖では IGLD/LWD が使われ、潮汐予測はありません)。
noaa_get_station_datumsで換算表を取得できます。 - 単位の対応は一様ではありません。
metricは風速では m/s を意味しますが、潮流では cm/s を意味します。どちらの単位系でも気圧はミリバール、塩分濃度は PSU です。すべての応答に単位が明記されます。 - プロダクトごとのリクエスト期間制限(1分データは4日間、6分データは31日間、時間データは1年間、hilo 予測は10年間など)を NOAA へのリクエスト前にクライアント側で検証し、対処方法を示すメッセージを表示します。
- 観測所 ID には2種類の方式があります。 水位・気象観測所は7桁の数字(
9414290)、潮流観測所は英数字(cb0102)です。 - 基準観測所と従属観測所。 従属(S)予測観測所が対応するのは
hilo予測のみで、基準(R)観測所からのオフセットに基づいて算出されます。 daily_meanでは現地標準時が必要です。 また、五大湖の観測所にのみ存在し、この条件は自動的に適用されます。- 品質フラグを解説します。 暫定データと検証済みデータ、シグマ、フラグのアルファベット(暫定データと検証済みデータでは異なります)、HH/H/L/LL の潮汐タイプをインラインで説明します。
- 予測は天文現象に基づくものです。 高潮は含まれないため、観測水位と比較してください。
- 観測所ディレクトリはキャッシュされます(6時間)。そのため、最寄りの観測所を検索する際に何千件ものレコードを再取得することはありません。
使用例
「明日のボストンの満潮時刻はいつですか?」
noaa_find_nearest_stations(typetidepredictions)→8443970 BOSTONnoaa_get_tide_predictions(intervalhilo)→ MLLW を基準とした満潮・干潮の時刻と潮位
「今日の午後、ケープコッド運河の潮流はどれくらい強くなりますか?」
noaa_find_nearest_stations(typecurrentpredictions)noaa_get_current_predictions(intervalmax_slack)→ 最大の上げ潮・下げ潮(ノット)と潮止まりの時刻
「プロビデンスでは、現在と20年前で洪水の頻度はどのくらい違い、2050年にはどのように予測されていますか?」
noaa_get_high_tide_flooding(reportannual、range 25)noaa_get_high_tide_flooding(reportprojections、decade 2050)noaa_get_sea_level_trends+noaa_get_sea_level_rise_projections
開発
npm install
npm run build # tsc → dist/
npm test # vitest unit tests (validation, formatting, astronomy)
npm run test:live # end-to-end smoke test against the live NOAA API
npm run inspector # MCP Inspector against dist/index.js
npm run dev # tsx src/index.ts
アーキテクチャ
src/
├── index.ts # entry point: stdio (default) or --http streamable HTTP
├── constants.ts # API base URLs, timeouts, cache TTLs, response limits
├── client/ # shared HTTP layer (retry/backoff, error mapping) + TTL cache
├── validation/ # date normalization + per-product span limit enforcement
├── format/ # unit labeling, flag legends, markdown/json response shaping
├── schemas/ # shared Zod field schemas with nuance-carrying descriptions
├── services/ # Data API, Metadata API, DPAPI, moon & sun services
├── tools/ # 25 tool registrations grouped by domain
├── resources/ # noaa:// reference resources
├── prompts/ # workflow prompt templates
└── reference/ # curated NOAA reference content
データソース:
- Data API —
api.tidesandcurrents.noaa.gov/api/prod/datagetter - Metadata API —
api.tidesandcurrents.noaa.gov/mdapi/prod/webapi - Derived Product API —
api.tidesandcurrents.noaa.gov/dpapi/prod/webapi - 天文データ — suncalc、ローカルで計算
ライセンス
MIT © Cardin LLC(Cardin Labs)
NOAA のデータは、NOAA Center for Operational Oceanographic Products and Services(CO-OPS)によって提供されています。このプロジェクトは NOAA と提携しておらず、NOAA の推奨を受けているものでもありません。
2.1.0 ツール配信の契約
すべての raw ツールは出力スキーマを公開します。プロバイダーからの正常なペイロードはフィールドを保持し、_response: { contractVersion: "2026-09-29.1", status: "complete" } を追加します。リファレンスガイドには、別個の型付きトピック/ガイド結果があります。テキストと構造化ペイロードのどちらにもサイズ上限があり、結果が上限を超えた場合、上限のない構造化レスポンスと切り捨てられたテキストを返すのではなく、絞り込み方法の案内を含む明示的な response_too_large エラーを返します。エラーメタデータには、再試行が有効な可能性があるかどうかが示されます。プロバイダーへの連続した読み取りには45秒のキャンセル期限が適用され、各リクエストの再試行予算は合計18秒です。生データから、釣り、航行、漁獲確率に関する推定は行いません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。