mcpField
M
MCP US Weather Client/Server

MCP US Weather Client/Server

ローカル
github.com/ankitmishralive開発ツール078 週間前に更新

MCP US Weather Client/Server について

MCP US Weather Client/Serverは、米国各州の発令中の気象警報を取得するMCPサーバーとクライアントのサンプルです。National Weather Service APIを利用し、mcp_useとLangchainによる接続例を示します。

主な機能

  1. 01米国各州の有効な警報を取得
  2. 02気象警報の結果を整形
  3. 03mcp_useを使ったクライアント例
  4. 04会話メモリとLLM連携

活用シーン

  1. 01指定した州の気象警報の確認
  2. 02MCPクライアントとサーバーの実装例の学習
  3. 03LLMとの会話で警報取得を実演

MCP 対応

MCPクライアントに気象警報ツールと設定リソースを公開します。mcp_useを使ったクライアント例も含まれます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP 米国気象クライアント/サーバー

これは、私がMCPを実際に実装した初めての経験でした。とても気に入りましたし、MCPは今後も使われ続けると確信しています。エコシステム全体への理解をさらに深めるため、ほかのプロジェクトもいくつか実装する必要があります。このリポジトリには、米国海洋大気庁(NWS)のAPIを利用して、米国各州の気象警報情報を提供するシンプルなMCP(Model Context Protocol)サーバーが含まれています。また、mcp_useライブラリとLangchainを使用してMCPサーバーとやり取りする方法を示す、クライアントアプリケーションのサンプルも含まれています。

特長

  • 気象警報: 指定した米国の州で発令中の気象警報を取得し、整形して表示します。
  • MCP連携: fastmcpライブラリを使用してMCPサーバーを構築する方法を示します。
  • クライアントの例: サーバーを使用し、会話のメモリを統合するクライアントアプリケーションを提供します。
  • Langchain連携: LLM連携の例を紹介します。

アーキテクチャ

graph LR

    %% MCP System
    subgraph MCP_System
        A[Client: client.py]
        B[MCP Agent: mcp_use.MCPAgent]
        C[MCP Client: mcp_use.MCPClient]
        D[FastMCP Server: weather.py]
        E[NWS API: api.weather.gov]

        A --> B
        B --> C
        C --> D
        D --> E
    end

    %% Data Flow
    subgraph Data_Flow
        F[User Input]
        F --> A
        E -->|Geo+JSON| D
        D -->|Weather Data| B
        B -->|LLM Interaction| F
    end

    %% Styling with visible text
    classDef client fill:#f9f,stroke:#333,color:#000,font-weight:bold;
    classDef agent fill:#ccf,stroke:#333,color:#000,font-weight:bold;
    classDef server fill:#fcc,stroke:#333,color:#000,font-weight:bold;
    classDef api fill:#ffc,stroke:#333,color:#000,font-weight:bold;
    classDef user fill:#cfc,stroke:#333,color:#000,font-weight:bold;

    class A client;
    class B,C agent;
    class D server;
    class E api;
    class F user;

    %% Link styling
    linkStyle default stroke:#000,stroke-width:2px;


前提条件

サーバーとクライアントを実行する前に、以下がインストールされていることを確認してください。

  • Python 3.7+
  • uv(依存関係の管理に推奨 — https://github.com/astral-sh/uv)
  • Groq APIキー。 .envファイルに追加する必要があります。
  • mcp_useライブラリ: ドキュメントに従ってインストールしてください。

インストール

  1. リポジトリをクローンします:

    git clone <your_repository_url>
    cd <repository_directory>
    
  2. 依存関係をインストールします(uvを使用):

    uv add -r requirements.txt
    

    このコマンドは、カレントディレクトリのpyproject.tomlファイルに基づいて、uv pip install .を使用し、プロジェクトとその依存関係をインストールします。

  3. .envファイルを作成します: ルートディレクトリに.envファイルを作成し、<YOUR_GROQ_API_KEY>を実際のGroq APIキーに置き換えて、以下の内容を記述します。

    GROQ_API_KEY=<YOUR_GROQ_API_KEY>
    

使用方法

MCP気象サーバーとクライアントの実行
  1. サーバーを起動します:

    uv run mcp dev server/weather.py
    
  2. クライアントを起動します:

    uv run server/client.py
    
クライアントとのやり取り
  • プロンプトにクエリを入力します。例:「CA、NY、NJなどの気象警報を取得して」。
  • 会話を終了するには、exitまたはquitと入力します。
  • 会話履歴を消去するには、clearと入力します。

やり取りの例

エージェントは次にget_alertsツールを使用してカリフォルニア州の気象警報を取得し、整形した結果を表示します。

エージェントは次にget_configツールを使用してリソースを取得します。

設定

server/weather.json

この設定ファイルには、MCPサーバーが公開するツールとリソースが記述されています。このファイルの内容がweather.pyファイル内の定義と正確に一致していることが重要です。このファイルの形式については、mcp_useのドキュメントを参照してください。デフォルトの設定ファイルはserverフォルダーにあります。

環境変数

クライアントアプリケーションは、Groq APIで認証するために、特にGROQ_API_KEYなどの環境変数を使用します。クライアントを実行する前に、これらの変数を設定してください。.envファイルを使用して設定できます。

出力

  • コンソール出力: このスクリーンショットは、会話中のクライアントアプリケーションの一般的な出力を示しています。エージェントがMCPサーバーとやり取りし、get_alertsツールを利用する様子を確認できます。

image

  • MCP Inspector: このスクリーンショットは、MCP Inspectorで使用される一般的なweather.jsonを示しています。

image

お問い合わせ

お問い合わせやサポートについては、以下までご連絡ください。

コメント

MCP は初めてですか?

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

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