langchain-mcp-tools-ts-usage

langchain-mcp-tools-tsは、TypeScriptで構築された自動化ツールで、データ処理やAPIとの連携を効率化します。特に、複雑なワークフローを簡素化する機能があり、開発者にとって使いやすいインターフェースを提供します。これにより、プロジェクトの生産性を向上させることができます。

GitHubスター

11

ユーザー評価

未評価

お気に入り

0

閲覧数

10

フォーク

2

イシュー

0

README
MCP Tools Usage From LangChain / Example in TypeScript License: MIT

This simple Model Context Protocol (MCP)
client demonstrates the use of MCP server tools by LangChain ReAct Agent.

It leverages a utility function convertMcpToLangchainTools() from
@h1deya/langchain-mcp-tools.
This function handles parallel initialization of specified multiple MCP servers
and converts their available tools into an array of LangChain-compatible tools
(StructuredTool[]).
It also performs LLM provider-specific schema transformations
to prevent schema compatibility issues

Google GenAI's gemini-2.5-flash is used as the LLM.
For convenience, code for OpenAI's and Anthropic's LLMs are also included and commented out.

A bit more realistic (conversational) MCP Client is available
here

A python equivalent of this app is available
here

Prerequisites
  • Node.js 18+
  • npm 8+ (npx) to run Node.js-based MCP servers
  • [optional] uv (uvx)
    installed to run Python-based MCP servers
  • LLM API keys from
    OpenAI,
    Anthropic,
    and/or
    Google GenAI
    as needed
Usage
  1. Install dependencies:

    npm install
    
  2. Setup API key:

    cp .env.template .env
    
    • Update .env as needed.
    • .gitignore is configured to ignore .env
      to prevent accidental commits of the credentials.
  3. Run the app:

    npm start
    
Simple Exapmle Code for Streamable HTTP Authentiocation

A simple example of showing how to implement an OAuth client provider and
use it with the langchain-mcp-tools library can be found
in src/streamable-http-auth-test-client.ts.

For testing purposes, a sample MCP server with OAuth authentication support
that works with the above client is provided
in src/streamable-http-auth-test-server.ts.

You can run the server with npm run test:streamable:server
and the client with npm run test:streamable:client.