Weather MCP Server について
Weather MCP Serverは、National Weather Service APIを通じて米国の気象警報と位置指定の予報を提供するMCPサーバーです。気象データを必要とするMCPクライアント向けで、Dockerでデプロイできます。
主な機能
- 01米国各州の警報取得
- 02緯度・経度による予報
- 03National Weather Service API
- 04Dockerデプロイ対応
活用シーン
- 01米国の州ごとの警報確認
- 02座標に基づく予報の取得
- 03MCPクライアントへの気象データ提供
MCP 対応
National Weather Service APIを使い、米国の州別警報と緯度・経度別の予報を取得するツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Weather MCP サーバー
National Weather Service(NWS)API を使用して、気象情報と警報を提供する Model Context Protocol(MCP)サーバーです。
機能
- 米国の任意の州の気象警報を取得
- 緯度と経度を指定して、任意の場所の詳細な天気予報を取得
- 使いやすい MCP インターフェース
- デプロイを簡単にする Docker サポート
前提条件
- Python 3.13 以降
- Docker と Docker Compose(コンテナーでのデプロイに必要)
インストール
ローカル開発
- リポジトリをクローンします
uvを使用して依存関係をインストールします:pip install uv uv venv uv pip install . uv run src/main.py
Docker でのデプロイ
Docker Compose を使用して、サーバーをビルドして実行します:
docker compose up -d
サーバーエンドポイントは http://localhost:8001/sse で利用できます。
利用可能なツール
get_alerts(state: str)
米国の州の有効な気象警報を取得します。
パラメーター:
state:米国の州コード(2文字)(例:「CA」はカリフォルニア州、「NY」はニューヨーク州)
get_forecast(latitude: float, longitude: float)
特定の場所の詳細な天気予報を取得します。
パラメーター:
latitude:場所の緯度longitude:場所の経度
開発
このプロジェクトでは開発に Docker ボリュームを使用するため、コンテナーを再ビルドせずにコードの変更を反映できます。ソースコードはコンテナー内の /app/src にマウントされます。
技術的な詳細
- Python の MCP フレームワークを使用して構築
- 非同期 HTTP リクエストに httpx を使用
- 適切なエラー処理とリクエストタイムアウトを実装
- 依存関係の管理に uv を使用
- デプロイを簡単にするため Docker でコンテナー化
環境変数
PYTHONUNBUFFERED=1:Python の出力をバッファリングせずにターミナルへ直接送信します
ポート
サーバーはコンテナー内のポート 8000 で実行され、ホストマシンのポート 8001 にマッピングされます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。