MCP Agent について
MCP Agentは、ReWOOを用いてツール実行前に証拠を計画するLangGraphエージェントです。プロンプトの負荷を抑えながらMCPサーバーを利用するLLM向けに、ツール選別や計画検証を行います。
主な機能
- 01タスクに応じたツール選別
- 02YAML実行計画の生成と解析
- 03計画の検証と修正
- 04過去の証拠を使った入力補完
- 05収集した証拠から回答を生成
活用シーン
- 01小規模なLLMでMCPサーバーを利用
- 02複数のツールを使う段階的なタスクの実行
MCP 対応
計画に沿ってMCPサーバー経由でツールを実行し、結果を証拠として処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Agent
図

概要
このプロジェクトは、**ReWOO(Reasoning WithOut Observation)**パターンに基づく LangGraph エージェントを実装します。ReAct(Reasoning and Acting)パターンと同様に推論して行動しますが、Observation ステップを明示的に分けるのではなく、計画フェーズで必要なエビデンスを事前に定義することで、特に小規模な LLM(SLM)を使用する際のプロンプトの量と複雑さを軽減することを目指しています。
また、MCP(Model Context Protocol)サーバーと効率的にやり取りするために、ツールのフィルタリング、計画の検証と修正、エビデンス管理など、いくつかの最適化ロジックも含まれています。
アーキテクチャ:LangGraph ノード
このエージェントは、以下の LangGraph ノードを使用して ReWOO ワークフローを実行します。
tool_filter:エージェントの実行開始時に、ユーザーのクエリと利用可能なすべてのツールの説明に基づいて、現在のタスクに最も関連性の高いツールをフィルタリングします。planner:フィルタリングされたツール情報に基づいて、ユーザーのクエリを解決するための段階的な実行計画(YAML 形式)を生成します。エラー発生時の計画修正ロジックも処理します。plan_parser:plannerが生成した未加工の YAML 計画を解析し、構造が正しいか検証します。解析または検証でエラーが発生した場合に、LLM を使用して自動修正するロジックを含めることもできます。plan_validator:解析された計画に含まれるツール名が、tool_filterステップで選択された有効なツールの一覧に存在するかを最終的に検証します。tool_selector:検証済みの計画から、現在のステップで実行するツールを選択します。tool_input_preparer:選択したツールの入力を準備します。この処理では、前のステップで収集したエビデンスを参照して、プレースホルダー(#E1 など)を実際の値に置き換えます。tool_executor:準備した入力を使って(MCP サーバー経由で)実際のツールを実行し、結果を取得します。evidence_processor:ツールの実行結果を処理し、evidence辞書に保存します。(現在はプレースホルダーであり、今後ロジックを実装できます)。generate_final_answer:計画のすべてのステップが完了したとき、またはツール呼び出しなしで計画が終了したときに、収集したすべてのエビデンスをまとめて最終回答を生成します。
プロジェクト構成
.
├── agent/ # ReWOO agent core logic
│ ├── graph.py # LangGraph graph definition
│ ├── state.py # Agent state definition (ReWOOState)
│ ├── nodes/ # Graph node implementations (planner, parser, executor, etc.)
│ ├── prompts/ # LLM prompt definitions
│ └── utils.py # Utility functions
├── core/ # Core utilities
│ └── llm_loader.py # LLM instance loading and management
├── tests/ # Test code (unit/integration)
├── images/ # Images for README
├── mcp.json # MCP server configuration file
├── main.py # Agent execution script
├── .env.example # Environment variable setup example
└── README.md # Project documentation
使い方
python main.py
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。