- Explore MCP Servers
- mcp-client-langchain-py
Langchain ReAct Agent
What is Langchain ReAct Agent
This is a simple Command Line Interface (CLI) client for the Model Context Protocol (MCP) utilizing the LangChain ReAct Agent. It demonstrates how to interact with multiple MCP servers, converting their tools into a format compatible with LangChain.
Use cases
The MCP client can be used to access and leverage various language models from providers like Anthropic, OpenAI, and Groq. It’s suitable for executing tasks that involve tool invocation through a CLI, making it versatile for development and testing of MCP server functionalities.
How to use
To use the client, install the required dependencies, set up your API keys in the provided .env
file, and configure the MCP server settings in the llm_mcp_config.json5
file. After setting up, run the application using make start
, and interact with the tool via command line prompts.
Key features
Key features include parallel initialization of MCP servers, conversion of MCP tools into LangChain-compatible tools, support for multiple language models, and ease of use through a command-line interface.
Where to use
This client can be used in development environments for interacting with various models and testing functionalities provided by MCP servers. It is particularly useful for developers and researchers working on projects that require model context protocols.
Overview
What is Langchain ReAct Agent
This is a simple Command Line Interface (CLI) client for the Model Context Protocol (MCP) utilizing the LangChain ReAct Agent. It demonstrates how to interact with multiple MCP servers, converting their tools into a format compatible with LangChain.
Use cases
The MCP client can be used to access and leverage various language models from providers like Anthropic, OpenAI, and Groq. It’s suitable for executing tasks that involve tool invocation through a CLI, making it versatile for development and testing of MCP server functionalities.
How to use
To use the client, install the required dependencies, set up your API keys in the provided .env
file, and configure the MCP server settings in the llm_mcp_config.json5
file. After setting up, run the application using make start
, and interact with the tool via command line prompts.
Key features
Key features include parallel initialization of MCP servers, conversion of MCP tools into LangChain-compatible tools, support for multiple language models, and ease of use through a command-line interface.
Where to use
This client can be used in development environments for interacting with various models and testing functionalities provided by MCP servers. It is particularly useful for developers and researchers working on projects that require model context protocols.
Content
Simple CLI MCP Client Using LangChain / Python 
This simple Model Context Protocol (MCP)
client with command line interface demonstrates the use of MCP server tools by the LangChain ReAct Agent.
It leverages a utility function convert_mcp_to_langchain_tools()
from
langchain_mcp_tools
.
This function handles parallel initialization of specified multiple MCP servers
and converts their available tools into a list of LangChain-compatible tools
(list[BaseTool]).
LLMs from Anthropic, OpenAI and Groq are currently supported.
A typescript version of this MCP client is available
here
Prerequisites
- Python 3.11+
- [optional]
uv
(uvx
)
installed to run Python package-based MCP servers - [optional] npm 7+ (
npx
)
to run Node.js package-based MCP servers - API keys from Anthropic,
OpenAI, and/or
Groq
as needed
Setup
-
Install dependencies:
make install
-
Setup API keys:
cp .env.template .env
- Update
.env
as needed. .gitignore
is configured to ignore.env
to prevent accidental commits of the credentials.
- Update
-
Configure LLM and MCP Servers settings
llm_mcp_config.json5
as needed.- The configuration file format
for MCP servers follows the same structure as
Claude for Desktop,
with one difference: the key namemcpServers
has been changed
tomcp_servers
to follow the snake_case convention
commonly used in JSON configuration files. - The file format is JSON5,
where comments and trailing commas are allowed. - The format is further extended to replace
${...}
notations
with the values of corresponding environment variables. - Keep all the credentials and private info in the
.env
file
and refer to them with${...}
notation as needed.
- The configuration file format
Usage
Run the app:
make start
It takes a while on the first run.
Run in verbose mode:
make start-v
See commandline options:
make start-h
At the prompt, you can simply press Enter to use example queries that perform MCP server tool invocations.
Example queries can be configured in llm_mcp_config.json5