mcpField
L
LangGraph ReAct Agent with MCP

LangGraph ReAct Agent with MCP

github.com/nachoalフレームワーク・SDK588 週間前に更新

LangGraph ReAct Agent with MCP について

LangGraph と MCP を使用した ReAct エージェントのテンプレートです。エージェントは MCP ゲートウェイ経由で複数の MCP サーバーに接続し、ツールを自動発見して使用します。

主な機能

  1. 01複数サーバーを管理する MCP ゲートウェイ
  2. 02ファイルシステムと知識グラフツール
  3. 03自動ツール発見と統合
  4. 04ReAct 推論ループ

活用シーン

  1. 01MCP サービスでエージェント機能を拡張
  2. 02ファイル操作と知識管理の自動化
  3. 03マルチサービスワークフローを調整

MCP 対応

このクライアントはローカル MCP ゲートウェイ経由で複数の MCP サーバーに接続し、これらのサービスが公開するツールを自動発見して ReAct エージェント用に統合します。

詳細

LangGraph ReAct エージェント(MCP対応)

CI Integration Tests Open in - LangGraph Studio

このテンプレートは、LangGraph と Model Context Protocol(MCP) を用いて実装した ReAct エージェント を紹介しています。エージェントは MCP サーバーを使用して、統一されたゲートウェイを通じてツールと機能を提供します。

アーキテクチャ

システムは 3 つの主要なコンポーネントで構成されています。

  1. MCP ゲートウェイサーバー:以下の機能を提供するサーバー

    • 複数の MCP サーバープロセスを管理
    • ツールにアクセスするための統一 API を提供
    • MCP サーバーとの通信を処理
    • シンプルな HTTP インターフェース経由でツールを公開
  2. MCP サーバー:特定の機能を提供する個別サーバー

    • ファイルシステムサーバー:ファイル操作(読み込み、書き込み、一覧表示、検索)
    • メモリサーバー:ナレッジグラフ操作(エンティティ、関係、クエリ)
    • より多くの機能のための追加サーバーを追加可能
  3. 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 でアプリを開きます。インストールガイドはここをご覧ください。

新しいブラウザウィンドウが開き、エージェントが実行されます。エージェントは自動的に以下を行います。

  1. ローカルゲートウェイサーバーに接続
  2. 利用可能なツールを検出
  3. 会話で使用するためのツールを利用可能にする

利用可能なツール

エージェントは両方の MCP サーバーのツールにアクセスできます。

ファイルシステムツール
  • read_file: ファイルの内容を読み込む
  • write_file: ファイルを作成または更新する
  • list_directory: ディレクトリの内容を一覧表示する
  • search_files: パターンに一致するファイルを検索する
  • その他...
メモリツール
  • create_entities: ナレッジグラフにエンティティを追加する
  • create_relations: エンティティをリンクさせる
  • search_nodes: ナレッジグラフにクエリを実行する
  • その他...

開発

新しい MCP サーバーの追加
  1. MCP サーバーリポジトリからサーバーを見つける
  2. その設定を gateway/config.json に追加する
  3. エージェントがそのツールを自動的に検出します
エージェントのカスタマイズ
  • src/react_agent/prompts.py のシステムプロンプトを変更する
  • src/react_agent/graph.py のエージェントの推論ロジックを更新する
  • より多くの MCP サーバーを含めることで、新しい機能を追加する

ドキュメント

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

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

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