天気MCPサーバー
これは、国立気象局 (NWS) API を使用して天気情報を提供するモデル コンテキスト プロトコル (MCP) サーバーです。
特徴
米国の州の天気予報を取得する
特定の場所の天気予報を取得する(緯度と経度を使用)
Related MCP server: MCP Weather Server
要件
Python 3.10以上
ファストMCP
httpx
インストール
このリポジトリをクローンする
仮想環境をセットアップします。
python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`uv を使用して必要なパッケージをインストールします。
uv add "mcp[cli]" httpx
構成
サーバーは、次の設定を含む構成ファイルconfig.pyを使用します。
NWS_API_BASE: National Weather Service API のベース URLUSER_AGENT: NWS API へのリクエスト時に使用するユーザーエージェント文字列LOG_LEVEL: ログレベル(例:「INFO」、「DEBUG」)LOG_FORMAT: ログメッセージのフォーマット文字列REQUEST_TIMEOUT: APIリクエストのタイムアウト(秒)
config.pyファイルでこれらの設定を変更して、サーバーの動作をカスタマイズできます。
使用法
サーバーをスタンドアロンで実行する
サーバーをスタンドアロンで実行するには:
まだアクティブ化されていない場合は、仮想環境をアクティブ化します。
source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`サーバーを実行します。
python weather.py
Clineと併用
Weather MCP ServerがClineの設定に追加されました。Cline内で使用するには、以下の手順に従ってください。
Cline が適切にセットアップされ、実行されていることを確認します。
Weather MCP Server は、「weather」という名前のツールとして利用できるようになります。
Cline 内では次のツールを使用できます。
a.
get_alerts(state: str): 米国の州の天気予報を取得します(2文字の州コードを使用します。例:カリフォルニア州の場合は「CA」) b.get_forecast(latitude: float, longitude: float): 特定の場所の天気予報を取得します
Cline での使用例:
注: MCPツールを呼び出すための正確な構文は、Clineの設定によって異なる場合があります。最新の使用方法については、Clineのドキュメントを参照してください。
エラー処理とログ記録
このサーバーでは、APIリクエストとログ記録のエラー処理が改善されています。リクエスト中にエラーが発生した場合、サーバーはエラーをログに記録し、適切なエラーメッセージを返します。ログは、設定されたログレベルと形式でコンソールに出力されます。
テスト
ユニットテスト
ユニット テストを実行するには:
これらのテストでは、 get_alertsおよびget_forecastツールの基本機能をカバーします。
手動テスト
サーバーを手動でテストするには、MCPクライアントを使用して提供されているツールを呼び出すことができます。以下にコマンドの例を示します。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトはオープンソースであり、 MIT ライセンスの下で利用可能です。