mcpField
L
LangChain Agent with MCP Servers

LangChain Agent with MCP Servers

Local
github.com/esakrissaAI & Agents4Updated 82w ago

About LangChain Agent with MCP Servers

LangChain Agent with MCP Servers demonstrates MCP tool integration in a LangChain agent, for developers exploring this approach. It uses LangGraph's ReAct pattern and manages MCP server subprocesses.

Key features

  1. 01Integrate Tavily Search, weather, and math tools
  2. 02Select tools dynamically for queries
  3. 03Track and manage server subprocesses
  4. 04Handle signals and shut down cleanly
  5. 05Extend the MCP server set modularly

Use cases

  1. 01Build a LangChain agent that calls MCP tools
  2. 02Choose search or calculation tools for queries
  3. 03Clean up server subprocesses on exit

MCP support

The project connects to MCP servers through LangChain MCP Adapters and integrates their tools into the agent. The main program manages the server subprocesses.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

LangChain Agent with MCP Servers

A LangChain agent using MCP Adapters for tool integration with Model Context Protocol (MCP) servers.

Overview

This project demonstrates how to build a LangChain agent that uses the Model Context Protocol (MCP) to interact with various services:

  • Tavily Search: Web search and news search capabilities
  • Weather: Mock weather information retrieval
  • Math: Mathematical expression evaluation

The agent uses LangGraph's ReAct agent pattern to dynamically select and use these tools based on user queries.

Features

  • Graceful Shutdown: All MCP servers implement proper signal handling for clean termination
  • Subprocess Management: The main agent tracks and manages all MCP server subprocesses
  • Error Handling: Robust error handling throughout the application
  • Modular Design: Easy to extend with additional MCP servers

Graceful Shutdown Mechanism

This project implements a comprehensive graceful shutdown system:

  1. Signal Handling: Captures SIGINT and SIGTERM signals to initiate graceful shutdown
  2. Process Tracking: The main agent maintains a registry of all child processes
  3. Cleanup Process: Ensures all subprocesses are properly terminated on exit
  4. Shutdown Flags: Each MCP server has a shutdown flag to prevent new operations when shutdown is initiated
  5. Async Cooperation: Uses asyncio to allow operations in progress to complete when possible

Installation

# Clone the repository
git clone https://github.com/yourusername/langchain-mcp.git
cd langchain-mcp

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

Configuration

Create a .env file in the project root with the following variables:

OPENAI_API_KEY=your_openai_api_key
TAVILY_API_KEY=your_tavily_api_key

Usage

Run the agent from the command line:

python src/agent.py

The agent will prompt for your query and then process it using the appropriate tools.

Development

To add a new MCP server:

  1. Create a new file in src/mcpserver/
  2. Implement the server with proper signal handling
  3. Update src/mcpserver/__init__.py to expose the new server
  4. Add the server configuration to src/agent.py

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.