🤖 MCP Server Examples with AutoGen について
AIエージェントを開発する人向けに、AutoGenでのMCPツール統合を示すサンプルです。ローカルの数学ツールとリモートのApifyウェブ閲覧ツールを、それぞれStdioとSSEで同じエージェントに接続します。
主な機能
- 01AutoGenエージェントによるMCPツール利用
- 02Stdio経由でローカル数学サーバーに接続
- 03SSE経由でApifyサービスに接続
- 04計算とウェブ閲覧の実行例
活用シーン
- 01エージェントに算術問題を解かせる
- 02最新ニュースを検索して要約する
MCP 対応
AutoGenからローカルのStdio MCPサーバーとリモートのSSE MCPサーバーに接続し、両方のツールを利用する例です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🤖 AutoGen による MCP サーバーの例
このリポジトリは、AutoGen フレームワーク内で Model Context Protocol (MCP) を使用して、AI エージェントにツールを統合する実践的なデモンストレーションを提供します。
示されている主な機能:
- デュアル MCP 統合: AutoGen エージェントを以下に接続する方法を示します:
- Stdio トランスポートを使用するローカルツールサーバー (
math_server.py)。 - Server-Sent Events (SSE) トランスポートを使用するリモートツールサーバー (Apify の RAG Web Browser Actor)。
- Stdio トランスポートを使用するローカルツールサーバー (
- ローカルツールの例:
math_server.pyを介してローカルで実行されるシンプルな計算機 (add、multiply)。 - リモートツールの例: Web 検索とコンテンツ取得のために、Apify の MCP サーバー を介して Apify の RAG Web Browser Actor を活用します。
- AutoGen エージェント: ユーザーのクエリに回答するために、両方のツールセットを利用するように構成された
AssistantAgent。
目的: AI エージェントが、ローカルでホストされているかリモートでホストされているかに関係なく、標準化された通信プロトコル (Stdio および SSE) を介して多様なツールにアクセスできるようにする MCP の柔軟性を説明することです。
シナリオ: この例のエージェントは、2 つの異なる質問に回答します:
- 数学の問題 (
(3 + 5) x 12?)。ローカルのmath_server.pyを使用することが期待されます。 - 最近のニュースのリクエスト (「イランと米国の交渉に関する最新ニュースを要約してください...」)。リモートの Apify Web ブラウジングツールを使用することが期待されます。

📚 使用されているライブラリとフレームワーク
- AutoGen: AI エージェントフレームワーク (autogen_agentchat、autogen_core、autogen_ext)
- MCP: ツール統合のための Model Context Protocol
- Python-dotenv: 環境変数の管理用
- OpenAI API: LLM 機能用
- Apify API: Web ブラウジング機能用
🛠️ セットアップ
環境をセットアップするには、以下の手順に注意深く従ってください:
-
前提条件:
- Python 3.12 がインストールされていることを確認してください。
- まだインストールしていない場合は、
uvをインストールしてください:pip install uv
-
プロジェクトディレクトリに移動:
cd mcp_autogen_sse_stdio -
仮想環境の作成と有効化:
# Create virtual environment using uv uv venv --python 3.12 # Activate the virtual environment source .venv/bin/activate # On macOS/Linux # OR .\.venv\Scripts\activate # On Windows -
依存関係のインストール:
# Install project dependencies uv pip install -e .トラブルシューティングの注意: MCP CLI のインストールで問題が発生した場合は、手動でインストールできます:
uv add "mcp[cli]" -
環境変数の設定:
mcp_autogen_sse_stdioディレクトリに.envファイルを作成します。- API キーを追加します:
OPENAI_API_KEY=your_openai_api_key_here APIFY_API_KEY=your_apify_api_key_here - Apify API キーは Apify MCP Server ページ から取得してください。
🚀 プロジェクトの実行
-
親ディレクトリ (プロジェクトディレクトリの 1 つ上) にいることを確認してください:
cd .. -
uvを使用してメインスクリプトを実行します:uv run mcp_autogen_sse_stdio/main.py
これにより、以下のデモが実行されます:
- Apify ツールを使用してイランと米国の交渉に関するニュースを要約します
- ローカルの数学ツールを使用して簡単な数学の問題
(3 + 5) x 12を解きます
🔌 MCP (Model Context Protocol) の理解
MCP は、AI モデルとツール間の通信を標準化するプロトコルです。この例では、MCP を使用する 2 つの方法を示します:
1. ローカルツール (StdioServerParams)
- 通信に標準入出力を使用します
- ツールはお使いのマシン上でローカルに実行されます
- 例:
math_server.pyは簡単な数学演算を提供します
2. リモートツール (SseServerParams)
- 通信に Server-Sent Events (SSE) を使用します
- ツールはリモートサーバー (Apify など) 上で実行されます
- 例: Apify の rag-web-browser を介した Web ブラウジング機能
📝 コードのウォークスルー
main.py では次のことを示しています:
-
環境のセットアップ:
- API キーを読み込み、検証します
-
ツールの設定:
- StdioServerParams を使用してローカルの数学ツールをセットアップします
- SseServerParams を使用して Apify のウェブブラウザーに接続します (API は https://apify.com/apify/actors-mcp-server から)
-
エージェントの作成:
- 両方のツールセットを備えた AutoGen アシスタントを作成します
- ベースモデルとして GPT-4 を使用します
-
タスクの実行:
- 両方のツールが動作する様子を示す 2 つのデモタスクを実行します
- ニュース要約のためのウェブブラウジング
- 算術問題のための数学計算
🔄 通信フロー
User → AutoGen Agent → MCP Tools → Results → User
この例では、MCP を使用してさまざまな種類のツールをいかに簡単に 1 つのエージェントに統合できるかを示しています!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。