mcpField
N
Noaa Coastwatch

Noaa Coastwatch

リモート
pipeworx.io科学・教育0今日更新
リポジトリ公式サイト

Noaa Coastwatch について

Noaa Coastwatchは、NOAA CoastWatchの衛星・海洋モデルデータを照会するMCPサーバーです。2つのERDDAPノードから、データセット検索、メタデータ確認、表形式データや格子点の値を取得できます。

主な機能

  1. 01データセットカタログの検索
  2. 02変数と対象範囲の確認
  3. 03表形式の観測データ照会
  4. 04格子点の値の取得

活用シーン

  1. 01テーマ別の海洋データセット検索
  2. 02照会前の変数確認
  3. 03NDBCブイ観測の取得
  4. 04指定地点の格子データ確認

MCP 対応

CoastWatch ERDDAPの検索、メタデータ、表形式データ、格子点照会をMCPツールとして提供します。単独のstdioサーバーとしても、Pipeworxゲートウェイ経由でも利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/noaa-coastwatch/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/noaa-coastwatch

NOAA CoastWatch の衛星およびモデルによる海洋記録です。海面水温、 クロロフィル a、風、海流、NDBC の係留ブイアーカイブ全体を、CoastWatch の 2 つの ERDDAP サーバーから リアルタイムで読み取ります。

Pipeworx の一部です。AI エージェントを 1683 以上のライブデータソースに接続する MCP ゲートウェイです。

ツール

  • noaa_coastwatch_search_datasets(query, protocol?, node?, limit?) — データセットカタログを全文検索します。 まずはこちらから始めてください。他のすべてのツールでは、検索結果から取得した dataset_id を指定します。
  • noaa_coastwatch_dataset_info(dataset_id, node?) — 変数、単位、軸、時間範囲、ライセンスを取得します。 データをクエリする前に呼び出してください。変数名は大文字と小文字が区別されます。
  • noaa_coastwatch_tabledap(dataset_id, variables?, constraints?, node?, limit?) — tabledap データセットから行を取得します。 例:1970 年までさかのぼる NDBC ブイの毎時観測データ。
  • noaa_coastwatch_griddap_point(dataset_id, variable, latitude, longitude, time?, depth?, node?) — 指定した 1 つの時刻・緯度・経度におけるグリッド値を 1 つ取得し、最も近いグリッドセルにスナップします。

認証

キーは不要です。どちらのノードも匿名で利用できます。すべてのリクエストで User-Agent が送信されます。

データソース

両者が保有するデータセットは異なります。一方の dataset_id はもう一方では解決されず、その際のエラーは 「Currently unknown datasetID=…」です。これは、ノードの選択ミスではなく、ID が無効であるかのように見えます。

注意点

プロトコルレベルの注意点は shared/src/erddap.ts(ioos-erddap と共有)にあり、 詳細はファイル冒頭に記載されています。特に注意すべき 2 点を以下に示します。

  • ERDDAP は「該当なし」を空のテーブルではなく、プレーンテキスト本文を伴う HTTP 404 として返します。 該当する検索結果がない場合と、tabledap クエリの制約によってすべての行が除外される場合の両方が該当します。 本文は JSON ではないため、単純に解析するとメッセージが完全に失われます。このメッセージは残しておく価値があります。 データセットの実際の範囲が示されるためです(「No data matches time>=2050-01-01 because the numeric variable's source min=1970-02-26T20:00:00Z, max=2026-09-17T23:35:00Z」)。
  • 変数名は大文字と小文字が区別され、多くの場合は大文字です。 NDBC の水温は WTMP、気温は ATMP、風速は WSPD です。小文字でリクエストすると 400 Unrecognized variable が返されます。 これは「このブイは水温を報告していない」という意味に見えてしまいます。

このパック固有の注意点がもう 1 つあります。2 つのノードで検索結果の列が一致しません。 West Coast ノードは「Accessible」を含む 17 列を返しますが、national ノードは 15 列を返し、この列がありません。 rows[6] をインデックスで参照するコードでは、一方のノードでタイトルを、もう一方で ISO-19115 リンクを 読み取ることになります。エラーにはならず、誤った結果が返されます。共有クライアントでは列名を使ってインデックスを作成します。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "noaa-coastwatch": {
      "url": "https://gateway.pipeworx.io/noaa-coastwatch/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/noaa-coastwatch/mcp の tools/list は、上の表にあるツールに加えて、共有の Pipeworx メタツールである ask_pipeworx、 discover_tools、search_within、remember/recall など、ゲートウェイ全体で使える一連のツールを返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック独自のツールと合わせて約 30 個の共有ツールが表示されます。接続時の initialize レスポンスに正確な範囲が記載されており、その日の状況を確認するための信頼できる情報源です。

これは意図的な設計であり、誤って多重化されているわけではありません。メタツールを使うと、このパックが対応していない質問にも、カタログ全体を対象にルーティングする ask_pipeworx を通じて回答できます。MCP サーバーをもう 1 つ追加する必要はありません。現在、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、ゲートウェイ全体に一度接続してください。

または、Pipeworx ゲートウェイ全体に接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も同じゲートウェイと同じ 1683+ 個のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使ってすべてのツールにアクセスできます。

MCP クライアントをお持ちでない場合:HTTP で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/noaa_coastwatch_search_datasets \
  -H 'Content-Type: application/json' \
  -d '{"query":"sea surface temperature","protocol":"griddap","limit":5}'

最初の呼び出しにアカウントは不要です。ツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/noaa_coastwatch_search_datasets を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です。

{
  "mcpServers": {
    "noaa-coastwatch": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-noaa-coastwatch"]
    }
  }
}

または、起動を確認するには、直接実行します。

npx -y @pipeworx/mcp-noaa-coastwatch

stdin/stdout 経由で MCP を使用し、このパック独自のツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールを使用し、ask_pipeworx によるルーティングはありません。

ask_pipeworx の使用

ツールを直接呼び出す代わりに、平易な英語で質問できます。上記のパックエンドポイントでも、ゲートウェイ全体でも利用できます。

ask_pipeworx({ question: "your question about Noaa Coastwatch data" })

ゲートウェイが適切なツールを選択し、引数を自動的に設定します。

詳細情報

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。