NOAA Tides and Currents について
NOAA Tides and Currentsは、NOAA CO-OPSの沿岸・海洋データにアクセスし、太陽と月の情報をローカルで計算するMCPサーバーです。潮汐、海流、天候、観測所、浸水に関する質問を扱うクライアント向けに、参照情報と定型レポート用プロンプトも備えています。
主な機能
- 01水位、潮汐、海流の観測値と予測の取得
- 02観測所の検索とメタデータ、潮位基準面の確認
- 03海面水位の傾向、予測、浸水データへのアクセス
- 04米国内の地点の風と海洋予報の取得
- 05太陽・月のイベントと位置の計算
活用シーン
- 01地点ごとの潮汐時刻と高さの確認
- 02出航前の海流と海洋天候の確認
- 03地域の浸水履歴と海面水位予測の比較
MCP 対応
stdioまたは任意のstreamable HTTP経由で、25種類のツール、リソース、プロンプトをMCPクライアントに提供します。ツールはNOAA CO-OPSとNWSのAPIに問い合わせ、天文計算はローカルで行います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://perigeetides.com/mcpclaude mcp add --transport http ryancardin15-noaa-tides-and-currents https://perigeetides.com/mcp{"mcpServers":{"ryancardin15-noaa-tides-and-currents":{"type":"http","url":"https://perigeetides.com/mcp"}}}Cursor で開く{"servers":{"ryancardin15-noaa-tides-and-currents":{"type":"http","url":"https://perigeetides.com/mcp"}}}VS Code で開く{"mcpServers":{"ryancardin15-noaa-tides-and-currents":{"type":"http","url":"https://perigeetides.com/mcp"}}}{"mcpServers":{"ryancardin15-noaa-tides-and-currents":{"serverUrl":"https://perigeetides.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
26| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| date | enum | いいえ | ショートカットの時間範囲:「today」=午前0時から現在まで、「latest」=直近の1件の測定値、「recent」=過去72時間。begin_date/end_date/range とは併用できません。today | latest | recent |
| datum | enum | いいえ | 水位の垂直基準面。MLLW は沿岸観測所の標準海図基準面です。IGLD と LWD は五大湖の観測所のみで使用できます。NAVD/CRD は算出されている観測所のみで使用できます。noaa_get_station_datums で観測所が対応する基準面を確認してください。MHHW | MHW | MTL | MSL | MLW | MLLW | NAVD | STND | IGLD | LWD | CRD |
| range | integer | いいえ | 時間数。begin_date と併用:その時点から先の時間数。end_date と併用:その時点から遡る時間数。単独で使用:現在から遡る時間数。 |
| units | enum | いいえ | 単位系。english:フィート、°F、ノット(風と海流)、海里。metric:メートル、°C、風速は m/s、海流速度は cm/s、キロメートル。気圧は両方の単位系でミリバール、塩分は PSU です。english | metric |
| station | string | はい | 観測所 ID。水位/気象観測所は 7 桁の数字 ID(例:“9414290” San Francisco)、海流観測所は英数字 ID(例:“cb0102”)を使用します。noaa_search_stations または noaa_find_nearest_stations で観測所を検索してください。 |
| end_date | string | いいえ | 終了日時。形式は begin_date と同じです。 |
| interval | enum | いいえ | 観測間隔:“6” = 6 分間隔(標準、最大 31 日)、“1” = 1 分間隔の暫定値(最大 4 日)、“hourly” = 検証済みの毎時水位(最大 1 年)。1 | 6 | hourly |
| time_zone | enum | いいえ | タイムスタンプのタイムゾーン:gmt = UTC、lst = 観測所の現地標準時(夏時間なし)、lst_ldt = 観測所の現地時刻(夏時間あり)。注:daily_mean データには lst が必要です。gmt | lst | lst_ldt |
| begin_date | string | いいえ | 開始日時。形式:yyyyMMdd、“yyyyMMdd HH:mm”、MM/dd/yyyy、または ISO yyyy-MM-dd[THH:mm]。 |
| response_format | enum | いいえ | 出力形式:“markdown” は読みやすい要約表、“json” は完全な構造化ペイロードです。markdown | json |
詳細
🌊 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 つのサーバーを複数のクライアントで再利用できます。