mcpField
M
Mcp Server Weather Example

Mcp Server Weather Example

ローカル
github.com/aman-panjwaniメディア・デザイン078 週間前に更新

Mcp Server Weather Example について

Mcp Server Weather Exampleは、Azure Container Appsを使うチーム向けの天気MCPサーバー導入例とガイドです。SSE対応でAPIキー認証を備えたFastAPIアプリから、米国国立気象局の警報と予報を提供します。

主な機能

  1. 01NWSの警報と予報を取得
  2. 02FastAPIアプリでツールを提供
  3. 03Server-Sent Eventsに対応
  4. 04APIキーによるリクエスト保護
  5. 05Azure Container Appsにデプロイ

活用シーン

  1. 01リモートの天気MCPサーバーをデプロイ
  2. 02現在の気象警報を照会
  3. 03MCPクライアントから予報を取得
  4. 04Visual Studio Codeからサーバーに接続

MCP 対応

MCPクライアントに`get_alerts()`と`get_forecast()`を提供します。SSEとAPIキー認証を使用し、Azure Container Appsへのデプロイ手順も含みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

リモート MCP 気象サーバーのデプロイと接続

このプロジェクトでは、米国国立気象局の API を使用してリアルタイムの気象データを提供する、クラウドベースの Model Context Protocol (MCP) サーバーをデプロイできます。FastAPI で構築されており、リアルタイム通信のための Server-Sent Events (SSE) をサポートし、安全な API キー認証を使用します。

このリポジトリには、すぐにデプロイできる Weather MCP サーバーが用意されています。コードのクローン作成、認証の設定、Azure Container Apps へのデプロイから、MCP 拡張機能を使用して Visual Studio Code 内で接続するまで、セットアップ全体を順に説明します。


リポジトリのクローンを作成する
git clone https://github.com/your-username/mcp-weather-server.git
cd mcp-weather-server

構成を確認する

デプロイする前に、主要なコンポーネントを確認してください。

  • weather.py – 米国国立気象局の API を使用する、2 つのツール get_alerts() と get_forecast() を定義します。
  • main.py – ツールを FastAPI アプリでラップし、SSE をサポートして /sse で公開します。
  • api_key_auth.py – 受信リクエストに対する x-api-key ヘッダーベースのセキュリティを実装します。
  • Dockerfile – Python 3.13 と uv ウェブサーバーを使用して、アプリをビルドし、パッケージ化します。

API キー認証を設定する

環境変数を使用して、API キーを安全に設定します。

export API_KEYS=<YOUR_API_KEY>

カンマ区切りで複数のキーを指定することもできます。ソースコードにシークレットをハードコーディングする必要はありません。


Azure Container Apps へのビルドとデプロイ

Azure CLI を使用して、1 回の手順でビルドとデプロイを行います。

az containerapp up \
  -g <RESOURCE_GROUP> \
  -n weather-mcp \
  --environment <CONTAINERAPPS_ENV_NAME> \
  -l westus \
  --env-vars API_KEYS=<YOUR_API_KEY> \
  --source .

このコマンドでは、次の処理が行われます。

  • 同梱の Dockerfile を使用してイメージをビルドします。
  • Azure Container Apps にデプロイします。
  • --env-vars を使用して API キーを設定します。

デプロイが完了すると、Azure CLI からパブリック URL が返されます。これは MCP クライアントが使用するエンドポイントです。

ContainerAppDeployResponse


Visual Studio Code から接続する

サーバーが起動したら、VS Code 内で接続します。

  1. プロジェクトに .vscode/mcp.json ファイルを作成します。
{
  "inputs": [
    {
      "type": "promptString",
      "id": "weather-api-key",
      "description": "Weather API Key",
      "password": true
    }
  ],
  "servers": {
    "weather-sse": {
      "type": "sse",
      "url": "https://weather-mcp.orangebush.westus.azurecontainerapps.io/sse",
      "headers": {
        "x-api-key": "${input:weather-api-key}"
      }
    }
  }
}
  1. VS Code で MCP 拡張機能のサイドバーを開きます。
  2. サーバーエントリの横にある Start をクリックします。
  3. プロンプトが表示されたら API キーを入力します。

これで接続が完了し、リアルタイムの気象情報の問い合わせを処理できるようになりました。


GitHub Copilot Chat で試す(エージェントモード)
  1. GitHub Copilot Chat を エージェントモード で起動します。
  2. 次のように質問します。

「ジョージア州の天気予報はどうですか?」

エージェントはバックグラウンドで get_forecast ツールを呼び出し、NWS データに基づく最新の天気予報を返します。

RunAgent


これで準備完了です!

MCP サーバーは次の状態になりました。

  • クラウドでホスト済み
  • API キーで保護済み
  • VS Code および GitHub Copilot と統合済み

これで、どこからでもリアルタイムの気象データを利用できるカスタムエージェントを構築できます。

コメント

MCP は初めてですか?

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

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