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
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: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 cannot be installed
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.