🌦️ Weather MCP (Model Context Protocol) Demo について
Weather MCP Demoは、Python製の天気サーバーとGPT-4のコマンドラインクライアントを組み合わせ、自然言語で天気を照会する例です。クライアントによるツールの検出と利用方法を示します。
主な機能
- 01SSE経由の天気サーバー
- 02検出可能なfetch-weatherツール
- 03GPT-4自然言語クライアント
- 04対話型コマンドラインインターフェース
活用シーン
- 01自然言語での天気の質問
- 02クライアント側のツール検出の確認
- 03天気MCPクライアント・サーバー構成の学習
MCP 対応
サーバーはSSE経由でfetch-weatherツールをMCPクライアントに公開します。付属のOpenAIクライアントがツールを検出して天気の問い合わせに利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌦️ Weather MCP(Model Context Protocol)デモ
このプロジェクトでは、OpenAI のエージェントを使用するクライアントと専用の MCP サーバーで構成される、天気情報向けの Model Context Protocol(MCP) システムの実装を紹介します。このシステムでは、GPT-4 を利用した自然言語インターフェースを通じて、ユーザーが天気情報を問い合わせることができます。
🌟 概要
このプロジェクトは、次の 2 つの主要コンポーネントで構成されています。
- Weather MCP Server:天気情報を提供する Python ベースのサーバーです。
- Weather OpenAI Client:OpenAI の GPT-4 モデルを使用して自然言語によるリクエストを処理し、MCP サーバーと連携するクライアントです。
🚀 コンポーネント
🌐 Weather MCP Server
📁 場所:/server_weather/
サーバーコンポーネントは、次の機能を備えた Model Context Protocol サーバーを実装します。
- SSE(Server-Sent Events)を介して天気情報のエンドポイントを公開します。
- MCP クライアントが検出できる
fetch-weatherツールを提供します。 http://localhost:4000/sseで実行されます。
🤖 Weather OpenAI Client
📁 場所:/client_weather_openai/
クライアントコンポーネントは、次の機能を備えています。
- OpenAI の GPT-4 モデルとの連携。
- MCP サーバーからのツールの自動検出。
- 天気に関する問い合わせの自然言語処理。
- ユーザーが操作できる対話型コマンドラインインターフェース。
📋 前提条件
- Python 3.x
- OpenAI API キー(OpenAI Platform から取得できます)
- 環境変数の適切な設定(
.envファイル)
🔧 セットアップ
1. このリポジトリをクローンする
git clone [email protected]:sturlese/client_server_mcp.git
cd client_server_mcp
2. 環境変数を設定する
- 各コンポーネント(
/server_weather/と/client_weather_openai/)のルートに.envファイルを作成します。 - OpenAI API キーを追加します。
# Example of .env file
OPENAI_API_KEY='your-api-key-here'
3. 依存関係をインストールする
サーバーコンポーネント:
cd server_weather/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
クライアントコンポーネント:
cd ../client_weather_openai/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
🎮 使い方
MCP サーバーを起動する
cd server_weather/
source venv/bin/activate
python server_weather.py
OpenAI クライアントを起動する
cd client_weather_openai/
source venv/bin/activate
python weather_agent_openai.py
使用例
What's the weather in New York today?
🏗️ アーキテクチャ
このシステムは Model Context Protocol(MCP) を使用して、AI エージェントと天気サービスの間でシームレスな通信を実現します。
User ---> OpenAI Agent (Client) ---> MCP Server ---> Weather Data
📝 ライセンス
このプロジェクトはオープンソースで、MIT License の下で利用できます。
🤝 貢献
貢献、問題の報告、機能リクエストを歓迎します。
- プロジェクトをフォークします。
- 新しいブランチを作成します(
git checkout -b feature/your-feature)。 - 変更を加えます。
- 変更をコミットします(
git commit -m 'Add your feature')。 - ブランチにプッシュします(
git push origin feature/your-feature)。 - プルリクエストを作成します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。