MCP Client Using LangChain / Python

MCP Client Using LangChain / Python

By hideya GitHub

MCP Client Implementation Using LangChain ReAct Agent / Python

python mcp
Overview

What is MCP Client Using LangChain / Python?

MCP Client Using LangChain / Python is a client that demonstrates the use of Model Context Protocol (MCP) server tools by the LangChain ReAct Agent, allowing for the integration of various language models.

How to use MCP Client?

To use the MCP Client, install the necessary dependencies, set up your API keys, configure the MCP servers, and run the application using the provided commands.

Key features of MCP Client?

  • Supports multiple language models from Anthropic, OpenAI, and Groq.
  • Parallel initialization of multiple MCP servers.
  • Converts MCP server tools into LangChain-compatible tools.

Use cases of MCP Client?

  1. Integrating various language models for enhanced functionality.
  2. Utilizing MCP server tools for diverse applications in AI.
  3. Facilitating the development of applications that require multiple language model interactions.

FAQ from MCP Client?

  • What are the prerequisites for using the MCP Client?

You need Python 3.11+, and optionally, uv and npm for running MCP servers.

  • How do I set up API keys?

You can set up API keys by copying the .env.template to .env and updating it with your keys.

  • Can I run the MCP Client without any configuration?

You can run it with example queries, but for specific use cases, configuration is recommended.

Content

MCP Client Using LangChain / Python 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 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

  1. Install dependencies:

    make install
    
  2. Setup API keys:

    cp .env.template .env
    
    • Update .env as needed.
    • .gitignore is configured to ignore .env to prevent accidental commits of the credentials.
  3. 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 to mcp_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.

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

No tools information available.
School MCP
School MCP by 54yyyu

A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.

canvas mcp
View Details
repo-template
repo-template by loonghao

A Model Context Protocol (MCP) server for Python package intelligence, providing structured queries for PyPI packages and GitHub repositories. Features include dependency analysis, version tracking, and package metadata retrieval for LLM interactions.

-

google-calendar mcp
View Details
strava-mcp
strava-mcp by jeremysilva1098

MCP server for strava

strava mcp
View Details

Model Context Protocol (MCP) server implementation for Rhinoceros/Grasshopper integration, enabling AI models to interact with parametric design tools

grasshopper mcp
View Details

The open-source multi-agent chat interface that lets you manage multiple agents in one dynamic conversation and add MCP servers for deep research

python typescript
View Details

MCP configuration to connect AI agent to a Linux machine.

security mcp
View Details