LangGraph ReAct Agent with MCP について
LangGraph と MCP を使用した ReAct エージェントのテンプレートです。エージェントは MCP ゲートウェイ経由で複数の MCP サーバーに接続し、ツールを自動発見して使用します。
主な機能
- 01複数サーバーを管理する MCP ゲートウェイ
- 02ファイルシステムと知識グラフツール
- 03自動ツール発見と統合
- 04ReAct 推論ループ
活用シーン
- 01MCP サービスでエージェント機能を拡張
- 02ファイル操作と知識管理の自動化
- 03マルチサービスワークフローを調整
MCP 対応
このクライアントはローカル MCP ゲートウェイ経由で複数の MCP サーバーに接続し、これらのサービスが公開するツールを自動発見して ReAct エージェント用に統合します。
詳細
LangGraph ReAct エージェント(MCP対応)
このテンプレートは、LangGraph と Model Context Protocol(MCP) を用いて実装した ReAct エージェント を紹介しています。エージェントは MCP サーバーを使用して、統一されたゲートウェイを通じてツールと機能を提供します。
アーキテクチャ
システムは 3 つの主要なコンポーネントで構成されています。
-
MCP ゲートウェイサーバー:以下の機能を提供するサーバー
- 複数の MCP サーバープロセスを管理
- ツールにアクセスするための統一 API を提供
- MCP サーバーとの通信を処理
- シンプルな HTTP インターフェース経由でツールを公開
-
MCP サーバー:特定の機能を提供する個別サーバー
- ファイルシステムサーバー:ファイル操作(読み込み、書き込み、一覧表示、検索)
- メモリサーバー:ナレッジグラフ操作(エンティティ、関係、クエリ)
- より多くの機能のための追加サーバーを追加可能
-
ReAct エージェント:以下の動作をするエージェント
- MCP ゲートウェイに接続
- 利用可能なツールを検出
- ツールを使用してタスクを完遂
- 複数のサーバーの機能を組み合わせる
はじめに
1. 依存関係をインストール
# Install the agent package
pip install -e .
# Install the gateway package
cd gateway
pip install -e .
cd ..
2. MCP サーバーを構成
ゲートウェイサーバーは gateway/config.json で構成されます。デフォルトでは、2 つの MCP サーバーを起動します。
{
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/directory"
]
},
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
}
公式 MCP サーバーリポジトリからさらにサーバーを追加できます。
3. ゲートウェイサーバーを起動
cd gateway
python -m mcp_gateway.server
サーバーはデフォルトでポート 8808 で起動します。
4. エージェントを構成
エージェントのゲートウェイへの接続は langgraph.json で構成されます。
{
"dependencies": ["."],
"graphs": {
"agent": "./src/react_agent/graph.py:graph"
},
"env": ".env",
"mcp": {
"gateway_url": "http://localhost:8808"
}
}
5. エージェントを使用
LangGraph でアプリを開きます。インストールガイドはここをご覧ください。
新しいブラウザウィンドウが開き、エージェントが実行されます。エージェントは自動的に以下を行います。
- ローカルゲートウェイサーバーに接続
- 利用可能なツールを検出
- 会話で使用するためのツールを利用可能にする
利用可能なツール
エージェントは両方の MCP サーバーのツールにアクセスできます。
ファイルシステムツール
read_file: ファイルの内容を読み込むwrite_file: ファイルを作成または更新するlist_directory: ディレクトリの内容を一覧表示するsearch_files: パターンに一致するファイルを検索する- その他...
メモリツール
create_entities: ナレッジグラフにエンティティを追加するcreate_relations: エンティティをリンクさせるsearch_nodes: ナレッジグラフにクエリを実行する- その他...
開発
新しい MCP サーバーの追加
- MCP サーバーリポジトリからサーバーを見つける
- その設定を
gateway/config.jsonに追加する - エージェントがそのツールを自動的に検出します
エージェントのカスタマイズ
src/react_agent/prompts.pyのシステムプロンプトを変更するsrc/react_agent/graph.pyのエージェントの推論ロジックを更新する- より多くの MCP サーバーを含めることで、新しい機能を追加する
ドキュメント
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。