mcpField
W
Weather

Weather

リモート
agent-evidence.thx93.dev地図・旅行14 日前に更新
リポジトリ公式サイト

Weather について

Weatherは、米国国立気象局の警報と予報を必要とするエージェント向けの軽量MCPサーバーです。認証情報不要の読み取り専用ツールを2つ提供し、x402経由でBase上のUSDCを使う従量課金型ホスト版もあります。

主な機能

  1. 01米国の州ごとの発令中の警報
  2. 02座標から最大5期間の予報
  3. 03構造化出力の読み取り専用ツール
  4. 04APIキー不要
  5. 05x402決済対応のホスト型エンドポイント

活用シーン

  1. 01米国の州の気象警報を確認
  2. 02米国内の座標地点の予報を取得
  3. 03AIエージェントに気象データを提供

MCP 対応

stdio経由で読み取り専用の`get-alerts`と`get-forecast`を提供します。ホスト型Streamable HTTPエンドポイントも同じツールを備え、x402経由でBase上のUSDCによる従量課金に対応します。

設定

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

エンドポイントhttps://agent-evidence.thx93.dev/weather/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@thx93/mcp-weather-server1.1.3

ツール

詳細

MCP Weather Server — AI エージェント向けの米国の警報と予報

CI M8ven Score Listed on mcpservers.org MCPRush

Model Context Protocol に対応した最小構成のサーバーです。 National Weather Service API の米国の気象データを、読み取り専用の 2 つのツールとして公開します。

NWS API は無料で、キーは不要で、米国のみを対象とするため、このサーバーの実行に認証情報やアカウントは必要ありません。

ツール入力戻り値
get-alertsstate — 例:2 文字のコード CAその州で有効な気象警報
get-forecastlatitude、longitude指定地点の次の 5 つの予報期間

どちらのツールにも readOnlyHint: true と destructiveHint: false が注釈として付与されているため、ツールの注釈を尊重するホストであれば、事前の確認なしに呼び出せます。どちらも api.weather.gov にアクセスするため、その旨を示す openWorldHint: true が設定されています。

ホスト版を使う(呼び出しごとに有料)

自分で実行する場合、費用はかかりません。また、Node プロセスやデータレイヤーを管理したくないエージェント向けに、x402 を介して Base 上で USDC による呼び出しごとの支払いを行うホスト版もあります。

https://agent-evidence.thx93.dev/weather/mcp

同じ 2 つのツールを、同じ出力スキーマと同じ null のフォールバックとともに提供します。さらに、サービスへの支払い前の検出とプローブに使える、無料の health ツールと無料の tools/list もあります。検出は無料です。get-alerts または get-forecast の tools/call は、価格を示す 402 を返します。どちらも読み取り専用として宣言されているため、注釈を尊重するホストであれば、確認を再度求めることはありません。

このリポジトリの server.json ではそのリモートサーバーを公開しているため、MCP クライアントは何もクローンせず、レジストリ名を使ってインストールできます。

前提条件

  • Node.js 24+
  • npm

ビルド、テスト、実行

npm install
npm test          # builds, then runs the suite
npm run build     # compile only
node build/index.js

テストスイートは、NWS API をスタブ化した状態で InMemoryTransport を介して実際のサーバーを動かすため、npm test はネットワークに接続せず、認証情報も必要ありません。ツールの検出と注釈、get-alerts および get-forecast のデータ取得経路、NWS が null として送信するフィールドのフォールバック、失敗時の仕様、入力の検証を網羅しています。

node build/index.js を実行すると、stdio で MCP プロトコルを使います。stderr に出力し、stdin からのクライアント接続を待つため、手動で実行するのではなく、ホストから起動することを想定しています。

クライアントへの追加

ほとんどの MCP ホストでは、同じ 3 行の形式を使います。

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-weather-server/build/index.js"]
    }
  }
}

または npm から直接インストールできます — 公開日:2026-10-19:

npx -y @thx93/mcp-weather-server

同等のクライアント設定エントリーとして指定することもできます。

{
  "mcpServers": {
    "weather": { "command": "npx", "args": ["-y", "@thx93/mcp-weather-server"] }
  }
}

レジストリアカウントを使わず、リポジトリから直接インストールすることもできます。

npm install github:Thx93/mcp-weather-server

この方法が機能するのは、インストール時に prepare がサーバーをビルドするためです。build/ はコミットされていないため、ビルドしないと bin の参照先ファイルが存在しません。GitHub からのインストール後に結果へ MCP で接続するエンドツーエンドの検証も済んでおり、両方のツールがオブジェクト出力スキーマとともに一覧表示されます。

ソースと照合済み

このツールは National Weather Service 独自のデータを返すため、正確性は単に主張するのではなく、検証できます。2026-10-19 に api.weather.gov は TX の有効な警報を 1 件報告し、ホスト版の get-alerts を有料で呼び出したところ、同じ州について Event: Flood Advisory がちょうど 1 件返されました。

これは見た目以上に重要です。同系列のエビデンスサービスには、判定における信頼性の問題が文書化されています(docs/evidence-quality.md を参照)。一方、このツールには誤りうる推論による判断がありません。データを取得して整形するだけで、値は NWS のものです。

知っておくとよい動作

失敗はツールの結果であり、プロトコルエラーではありません。 NWS が回答できないリクエスト(米国外の場所、障害、タイムアウトなど)は、 { isError: true, content: [{ type: "text", text: "<what failed>" }] } として返されます。これは「呼び出しの形式は正しかったが、処理に失敗した」ことを示す MCP の契約であり、呼び出し自体に問題があったことを示す JSON-RPC エラーとは異なります。クライアントはこのテキストをユーザーに表示し、再試行できます。

NWS は諦めるまで時間がかかりますが、こちらはそうではありません。 すべてのリクエストには 10 秒のタイムアウトが設定されているため、上流の処理が停止した場合、ハングするのではなく、ツール呼び出しの失敗として通知されます。

フィールドがない場合は null を表示せず、代替値を使います。 NWS は、存在しないフィールドに null を返します。イベント名がない場合は Unknown、気温がない場合も Unknown と表示し、文字列そのものの null は表示しません。

get-forecast が返す期間は最大 5 件です。 「天気はどうですか」という質問に答えるには十分で、コンテキストウィンドウに収まる長さです。

構造化コンテンツ

どちらのツールも outputSchema を宣言し、structuredContent を返します。また、どちらのスキーマもオブジェクトです。get-forecast は { latitude, longitude, periods } を、get-alerts は { alerts: [...] } を返します。

以前の get-alerts はトップレベルの配列を宣言していました。プロトコルリビジョン 2026-07-28 ではこれが許可されています。しかし、広く使われている MCP SDK を利用するクライアントは、配列スキーマに遭遇すると tools/list の応答全体を拒否するため(invalid_value: expected "object")、そのようなクライアントはサーバーにまったく接続できません。このツールを一般的なクライアントから利用できるようにするため、配列をオブジェクトでラップしています。モデルが読むテキスト形式の要約に変更はありません。

FAQ

これは何ですか? 米国国立気象局の気象データを、読み取り専用の 2 つのツール get-alerts と get-forecast として提供する MCP(Model Context Protocol)サーバーです。インストールすると stdio 経由で実行され、同じコードがストリーム可能な HTTP 経由で https://agent-evidence.thx93.dev/weather/mcp にも提供されます。このエンドポイントは呼び出しごとに課金されます。

API キーは必要ですか? いいえ。米国国立気象局の API にキーは不要です。ローカルサーバーもホストされたエンドポイントも、API キー、アカウント、登録を求めません。

料金はいくらですか? 自分で実行する場合は無料です。ISC ライセンスで、npm に @thx93/mcp-weather-server として公開されています。ホストされたエンドポイントは、x402 を通じて Base 上で呼び出し 1 回あたり 0.01 USDC を請求します。これにより、ウォレットを持っていても何かに登録する手段がないエージェントでも呼び出せます。

どの場所に対応していますか? 米国内のみです。データは米国国立気象局のもので、米国とその領土を対象としています。対象範囲外の座標を指定すると、推測ではなくエラーが返されます。

ツールは何を返しますか? get-alerts は 2 文字の州コードを受け取り、現在有効なすべての警報(イベント、対象地域、深刻度、説明、公式の指示)を返します。get-forecast は緯度と経度を受け取り、5 つの予報期間(名称、気温、風速と風向、平易な言葉での予報)を返します。どちらもオブジェクトの出力スキーマを宣言します。

Claude Desktop、Cursor、または別の MCP クライアントに追加するにはどうすればよいですか?

{
  "mcpServers": {
    "weather": { "command": "npx", "args": ["-y", "@thx93/mcp-weather-server"] }
  }
}

なぜ作られたのですか? MCP の「サーバーを構築する」チュートリアルから始まり、型付き出力スキーマ、読み取り専用アノテーション、上限付きフェッチ、明示的な失敗の契約、テストスイートを追加しました。

出典

Build an MCP server チュートリアルを基に始め、さらに型付き出力スキーマ、読み取り専用のツールアノテーション、明示的な失敗の契約を備えた上限付きフェッチ、テストスイートを追加しました。ISC ライセンスです。

コメント

MCP は初めてですか?

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

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