mcpField
L
LangChain Agent with MCP Servers

LangChain Agent with MCP Servers

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

LangChain Agent with MCP Servers について

LangChain Agent with MCP Serversは、LangChainエージェントへのMCPツール統合を示すプロジェクトです。LangGraphのReActパターンを使い、MCPサーバーのサブプロセスも管理します。

主な機能

  1. 01Tavily Search、天気、数学ツールの統合
  2. 02クエリに応じたツールの動的選択
  3. 03サーバーのサブプロセス管理
  4. 04シグナル処理と正常な終了
  5. 05MCPサーバーを拡張しやすい構成

活用シーン

  1. 01MCPツールを呼び出すLangChainエージェントの構築
  2. 02クエリに応じた検索・計算ツールの選択
  3. 03終了時のサーバーサブプロセスの後処理

MCP 対応

LangChain MCP Adaptersを介してMCPサーバーに接続し、そのツールをエージェントに統合します。メインプログラムがサーバーのサブプロセスを管理します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP サーバーを使用する LangChain エージェント

Model Context Protocol(MCP)サーバーと連携するツール統合に MCP Adapters を使用する LangChain エージェントです。

概要

このプロジェクトでは、Model Context Protocol(MCP)を使用してさまざまなサービスとやり取りする LangChain エージェントの構築方法を紹介します。

  • Tavily Search:ウェブ検索とニュース検索機能
  • Weather:モックの天気情報の取得
  • Math:数式の評価

エージェントは LangGraph の ReAct エージェントパターンを使用し、ユーザーのクエリに基づいてこれらのツールを動的に選択して使用します。

機能

  • グレースフルシャットダウン:すべての MCP サーバーで、正常に終了するための適切なシグナル処理を実装しています
  • サブプロセス管理:メインエージェントがすべての MCP サーバーのサブプロセスを追跡し、管理します
  • エラー処理:アプリケーション全体で堅牢なエラー処理を行います
  • モジュール設計:MCP サーバーを簡単に追加して拡張できます

グレースフルシャットダウンの仕組み

このプロジェクトでは、包括的なグレースフルシャットダウンシステムを実装しています。

  1. シグナル処理:SIGINT と SIGTERM シグナルを捕捉し、グレースフルシャットダウンを開始します
  2. プロセス追跡:メインエージェントがすべての子プロセスの登録リストを保持します
  3. クリーンアップ処理:終了時にすべてのサブプロセスが適切に終了することを保証します
  4. シャットダウンフラグ:各 MCP サーバーにシャットダウンフラグがあり、シャットダウン開始後の新しい操作を防ぎます
  5. 非同期処理の協調:asyncio を使用して、可能な場合は進行中の操作が完了できるようにします

インストール

# Clone the repository
git clone https://github.com/yourusername/langchain-mcp.git
cd langchain-mcp

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

設定

プロジェクトのルートに .env ファイルを作成し、次の変数を設定します。

OPENAI_API_KEY=your_openai_api_key
TAVILY_API_KEY=your_tavily_api_key

使用方法

コマンドラインからエージェントを実行します。

python src/agent.py

エージェントがクエリの入力を求め、適切なツールを使用して処理します。

開発

新しい MCP サーバーを追加するには:

  1. src/mcpserver/ に新しいファイルを作成します
  2. 適切なシグナル処理を実装してサーバーを作成します
  3. src/mcpserver/__init__.py を更新して新しいサーバーを公開します
  4. src/agent.py にサーバーの設定を追加します

ライセンス

MIT

コメント

MCP は初めてですか?

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

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