Skip to content

hideya/langchain-mcp-tools-ts-usage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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[]).

Anthropic's claude-3-5-haiku-latest is used as the LLM. For convenience, code for OpenAI's and Google'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 16+
  • npm 7+ (npx) to run Node.js-based MCP servers
  • [optional] uv (uvx) installed to run Python-based MCP servers
  • API key from Anthropic (or OpenAI)

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

Sample 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.

About

MCP Tools Usage From LangChain ReAct Agent / Example in TypeScript

Topics

Resources

License

Stars

Watchers

Forks