Weather について
Weatherは、米国国立気象局の警報と予報を必要とするエージェント向けの軽量MCPサーバーです。認証情報不要の読み取り専用ツールを2つ提供し、x402経由でBase上のUSDCを使う従量課金型ホスト版もあります。
主な機能
- 01米国の州ごとの発令中の警報
- 02座標から最大5期間の予報
- 03構造化出力の読み取り専用ツール
- 04APIキー不要
- 05x402決済対応のホスト型エンドポイント
活用シーン
- 01米国の州の気象警報を確認
- 02米国内の座標地点の予報を取得
- 03AIエージェントに気象データを提供
MCP 対応
stdio経由で読み取り専用の`get-alerts`と`get-forecast`を提供します。ホスト型Streamable HTTPエンドポイントも同じツールを備え、x402経由でBase上のUSDCによる従量課金に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agent-evidence.thx93.dev/weather/mcpclaude mcp add --transport http thx93-weather https://agent-evidence.thx93.dev/weather/mcp{"mcpServers":{"thx93-weather":{"type":"http","url":"https://agent-evidence.thx93.dev/weather/mcp"}}}Cursor で開く{"servers":{"thx93-weather":{"type":"http","url":"https://agent-evidence.thx93.dev/weather/mcp"}}}VS Code で開く{"mcpServers":{"thx93-weather":{"type":"http","url":"https://agent-evidence.thx93.dev/weather/mcp"}}}{"mcpServers":{"thx93-weather":{"serverUrl":"https://agent-evidence.thx93.dev/weather/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
MCP Weather Server — AI エージェント向けの米国の警報と予報
Model Context Protocol に対応した最小構成のサーバーです。 National Weather Service API の米国の気象データを、読み取り専用の 2 つのツールとして公開します。
NWS API は無料で、キーは不要で、米国のみを対象とするため、このサーバーの実行に認証情報やアカウントは必要ありません。
| ツール | 入力 | 戻り値 |
|---|---|---|
get-alerts | state — 例:2 文字のコード CA | その州で有効な気象警報 |
get-forecast | latitude、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 ライセンスです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。