- MCP Tools Usage From LangChain / Example in TypeScript
MCP Tools Usage From LangChain / Example in TypeScript
MCP Tools Usage From LangChain / Example in TypeScript 
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-sonnet-latest is used as the LLM.
For convenience, code for OpenAI's gpt-4o is 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
-
Install dependencies:
npm install -
Setup API key:
cp .env.template .env- Update
.envas needed. .gitignoreis configured to ignore.envto prevent accidental commits of the credentials.
- Update
-
Run the app:
npm start
Sample Code for SSE 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/sse-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/sse-auth-test-server.ts.
You can run the server with npm run sse-auth-test-server
and the client with npm run sse-auth-test-client.