mcpField
M
MCP Tools Usage From LangChain / Example in TypeScript

MCP Tools Usage From LangChain / Example in TypeScript

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

MCP Tools Usage From LangChain / Example in TypeScript について

MCPサーバーのツールをLangChain ReActエージェントに接続するTypeScriptの例です。`convertMcpToLangchainTools()`を使って複数サーバーを並列初期化し、ツールをLangChain形式に変換します。

主な機能

  1. 01複数MCPサーバーの並列初期化
  2. 02LangChain StructuredToolsへの変換
  3. 03プロバイダー別のスキーマ変換
  4. 04代替例を含むOpenAIモデル設定

活用シーン

  1. 01LangChain ReActエージェントでMCPツールを利用
  2. 02複数MCPサーバーからツールを初期化
  3. 03対応LLMプロバイダー向けにツールスキーマを調整

MCP 対応

この例はMCPクライアントとして指定されたMCPサーバーを初期化し、そのツールをLangChain ReActエージェントで利用できるようにします。

詳細

LangChain からの MCP ツールの使用/TypeScript の例 License: MIT

このシンプルなModel Context Protocol(MCP) クライアントは、LangChain ReAct エージェントによる MCP サーバーのツールの使用例を示します。

@h1deya/langchain-mcp-tools のユーティリティ関数 convertMcpToLangchainTools() を活用しています。
この関数は、指定された複数の MCP サーバーを並行して初期化し、利用可能なツールを LangChain 互換のツールの配列 (StructuredTool[])に変換します。 また、スキーマ互換性の問題を防ぐため、 LLM プロバイダー固有のスキーマ変換も実行します。

LLM として OpenAI の gpt-5.4-mini を使用します。 便宜上、OpenAI と Anthropic の LLM 用コードも含まれており、コメントアウトされています。

もう少し実用的な(会話型の)MCP クライアントは こちらで利用できます。

このアプリの Python 版は こちらで利用できます。

前提条件

  • Node.js 18+
  • Node.js ベースの MCP サーバーを実行するための npm 8+(npx)
  • [任意] Node.js パッケージベースのローカル MCP サーバーを実行するための npm 7+(npx)
  • Python ベースの MCP サーバーを実行するためにインストールされた [任意] uv(uvx)
  • 必要に応じて、 OpenAI、 Anthropic、 Google GenAI、 および/または xAI の LLM API キー

使用方法

  1. 依存関係をインストールします。

    npm install
    
  2. API キーを設定します。

    cp .env.template .env
    
    • 必要に応じて .env を更新します。
    • 認証情報を誤ってコミットしないよう、.gitignore では .env を無視する設定になっています。
  3. アプリを実行します。

    npm start
    

ライセンス

MIT

コメント

MCP は初めてですか?

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

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