Weather CLI App について
National Weather Service API から気象警報と予報を取得する Python 製 MCP サーバーです。MCP 対応の AI アシスタント向けに、米国の州別警報と座標による予報を提供します。
主な機能
- 01米国の州ごとの有効な警報を取得
- 02座標から天気予報を取得
- 03National Weather Service API を利用
- 04API キー不要
活用シーン
- 01州の有効な気象警報を確認
- 02指定座標の天気予報を取得
MCP 対応
MCP サーバーは、対応する AI アシスタントに `get_alerts` と `get_forecast` ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
天気 CLI アプリ
Model Context Protocol(MCP)を使用して、米国国立気象局の API から気象警報と天気予報を取得するシンプルなアプリケーションです。
機能
- 米国の任意の州について、有効な気象警報を取得
- 座標を指定して、任意の地点の天気予報を取得
- AI アシスタントとの連携に対応した MCP サーバーの実装
インストール
- Python 3.11 以上がインストールされていることを確認します
- このリポジトリをクローンします
- pip でパッケージをインストールします:
# Install with pip
pip install -e .
# Or if you have pip3 specifically
pip3 install -e .
注:このプロジェクトは MCP フレームワークを使用しており、ロックファイルの記載内容にかかわらず、
uvツールは特に必要ありません。
MCP サーバーとしての使用方法
インストールすると、Model Context Protocol に対応した AI アシスタントから天気 MCP サーバーにアクセスできます。サーバーは主に次の 2 つのツールを提供します:
get_alerts- 米国の州(2 文字の州コードを使用)の気象警報を取得しますget_forecast- 指定した座標(緯度、経度)の天気予報を取得します
開発
このプロジェクトでは、次のものを使用しています:
- 非同期 HTTP リクエスト用の httpx
- 構造化データ処理用の MCP サーバーツール
トラブルシューティング
ログに spawn uv ENOENT のようなエラーが表示される場合:
- uv ではなく pip でパッケージをインストールしたことを確認します
- Python 環境が正しく設定されていることを確認します
- サーバーを手動で実行し、追加の stderr 出力を確認します:
python -m weather
API 情報
このアプリケーションは、気象データの取得に米国国立気象局(NWS)の API を使用します。API キーは不要ですが、レート制限を尊重してご利用ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。