Model Context Protocol (MCP) Server
MCP Client Using LangChain / Python
This simple Model Context Protocol (MCP) client demonstrates the use of MCP server tools by 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
Requirements
Setup
- Install dependencies:Copymake install
- Setup API keys:Copycp .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 name
mcpServers
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
for MCP servers follows the same structure as
Claude for Desktop,
with one difference: the key name
Usage
Run the app:
It takes a while on the first run.
Run in verbose mode:
See commandline options:
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
This server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.