langchain-mcp-tools-ts-usage

langchain-mcp-tools-ts is an automation tool built in TypeScript that streamlines data processing and API interactions. It simplifies complex workflows and offers an easy-to-use interface for developers. This enhances productivity in projects by allowing for efficient task management and integration.

GitHub Stars

11

User Rating

Not Rated

Favorites

0

Views

16

Forks

2

Issues

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.