ホームへ戻る

代理框架

LangChain 1.4、MCPをコアパッケージに統合し、ステートレスプロトコル、ツール一覧のキャッシュ、実行途中の問い合わせをサポート

新しい `langchain.mcp` は、FastMCPによって接続、認証、プロトコルネゴシエーションを統合し、独立したadapterパッケージを置き換える。サーバーはツールの実行途中に追加情報や承認を要求でき、LangChainはその一時停止地点を再開可能なLangGraph interruptへマッピングする。

Dirck van Baburen · Public domain · Image source
zh-Hant

LangChain 1.4シリーズのリリース後、MCPクライアントは独立した `langchain-mcp-adapters` に主として依存するのではなく、コアパッケージ内のbeta名前空間 `langchain.mcp` を利用するようになった。`MCPAdapter` は、HTTP URL、ローカルのstdioプログラム、インメモリサーバー、複数サーバー設定、またはFastMCP `ClientGroup` を受け取り、検出したツールを通常のLangChain toolsへ変換して、`create_agent`、Deep Agents、またはカスタムgraphで利用できるようにする。

アーキテクチャ上の重要な変更は、基盤にFastMCP 4を採用したことだ。FastMCP 4がstreamable HTTP、stdio、OAuth 2.1、bearer token、コネクションプール、プロトコルネゴシエーションを担うため、従来型のhandshake/sessionサーバーと、MCP `2026-07-28`のステートレスコアを採用するサーバーを共存させられる。`ClientGroup` を使用する場合、各バックエンドは対応するプロトコルバージョンと認証情報を個別にネゴシエートできる。一方、新旧のサーバーを単一の従来型設定に混在させると、最も古いバックエンドの影響により、接続グループ全体で新バージョン限定の機能を利用できなくなる可能性がある。

新バージョンでは、エージェントの実行に実質的な影響を与える機能も2つ追加された。第1に、サーバーはツール一覧にTTLを指定でき、クライアントは `cache_mode` を通じてキャッシュの使用、更新、またはバイパスを選択できる。これにより、エージェントの各実行開始前にcatalogを再取得する際の遅延を削減できる。第2に、MCP elicitationにより、ツールのパラメーターが不足している場合や、削除の確認が必要な場合などに処理を一時停止できる。LangChainはこれをLangGraph interruptへ変換し、状態をcheckpointerに保存する。人間から回答を受け取った後に呼び出しを再試行するため、同じ接続を長時間維持する必要はない。

移行はimportを書き換えるだけでは済まない。`MultiServerMCPClient` は `MCPAdapter` に統合され、ツール列挙API、metadata構造、elicitationフローも変更されている。インストールには `langchain[mcp]>=1.4.0` とFastMCP 4が必要だ。現時点ではPython版のみが提供され、インターフェースはbetaとされている。エンジニアリングチームは特に、旧サーバーとのネゴシエーション、キャッシュの無効化、一時停止後のプロセス再起動、同名ツールに付与されるサーバープレフィックスが既存のプロンプトやポリシーを壊さないかをテストすべきだ。

出典

  1. MCP in LangChain: Stateless Protocol, Elicitation, and More!
  2. LangChain Python releases
  3. The 2026-07-28 Specification