mcpField
M
MCP Agent

MCP Agent

ローカル
github.com/NhahanAI・エージェント575 週間前に更新

MCP Agent について

MCP Agentは、ReWOOを用いてツール実行前に証拠を計画するLangGraphエージェントです。プロンプトの負荷を抑えながらMCPサーバーを利用するLLM向けに、ツール選別や計画検証を行います。

主な機能

  1. 01タスクに応じたツール選別
  2. 02YAML実行計画の生成と解析
  3. 03計画の検証と修正
  4. 04過去の証拠を使った入力補完
  5. 05収集した証拠から回答を生成

活用シーン

  1. 01小規模なLLMでMCPサーバーを利用
  2. 02複数のツールを使う段階的なタスクの実行

MCP 対応

計画に沿ってMCPサーバー経由でツールを実行し、結果を証拠として処理します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP Agent

ai

図

diagram

概要

このプロジェクトは、**ReWOO(Reasoning WithOut Observation)**パターンに基づく LangGraph エージェントを実装します。ReAct(Reasoning and Acting)パターンと同様に推論して行動しますが、Observation ステップを明示的に分けるのではなく、計画フェーズで必要なエビデンスを事前に定義することで、特に小規模な LLM(SLM)を使用する際のプロンプトの量と複雑さを軽減することを目指しています。

また、MCP(Model Context Protocol)サーバーと効率的にやり取りするために、ツールのフィルタリング、計画の検証と修正、エビデンス管理など、いくつかの最適化ロジックも含まれています。

アーキテクチャ:LangGraph ノード

このエージェントは、以下の LangGraph ノードを使用して ReWOO ワークフローを実行します。

  1. tool_filter:エージェントの実行開始時に、ユーザーのクエリと利用可能なすべてのツールの説明に基づいて、現在のタスクに最も関連性の高いツールをフィルタリングします。
  2. planner:フィルタリングされたツール情報に基づいて、ユーザーのクエリを解決するための段階的な実行計画(YAML 形式)を生成します。エラー発生時の計画修正ロジックも処理します。
  3. plan_parser:planner が生成した未加工の YAML 計画を解析し、構造が正しいか検証します。解析または検証でエラーが発生した場合に、LLM を使用して自動修正するロジックを含めることもできます。
  4. plan_validator:解析された計画に含まれるツール名が、tool_filter ステップで選択された有効なツールの一覧に存在するかを最終的に検証します。
  5. tool_selector:検証済みの計画から、現在のステップで実行するツールを選択します。
  6. tool_input_preparer:選択したツールの入力を準備します。この処理では、前のステップで収集したエビデンスを参照して、プレースホルダー(#E1 など)を実際の値に置き換えます。
  7. tool_executor:準備した入力を使って(MCP サーバー経由で)実際のツールを実行し、結果を取得します。
  8. evidence_processor:ツールの実行結果を処理し、evidence 辞書に保存します。(現在はプレースホルダーであり、今後ロジックを実装できます)。
  9. 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

コメント

MCP は初めてですか?

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

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