mcpField
W
Weather MCP Server

Weather MCP Server

ローカル
github.com/sirrupeshメディア・デザイン077 週間前に更新

Weather MCP Server について

Weather MCP Serverは、National Weather Service APIを通じて米国の気象警報と位置指定の予報を提供するMCPサーバーです。気象データを必要とするMCPクライアント向けで、Dockerでデプロイできます。

主な機能

  1. 01米国各州の警報取得
  2. 02緯度・経度による予報
  3. 03National Weather Service API
  4. 04Dockerデプロイ対応

活用シーン

  1. 01米国の州ごとの警報確認
  2. 02座標に基づく予報の取得
  3. 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(コンテナーでのデプロイに必要)

インストール

ローカル開発
  1. リポジトリをクローンします
  2. 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 にマッピングされます。

コメント

MCP は初めてですか?

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

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