LangChain Agent with MCP Servers
LangChain Agent with MCP Servers: Using LangChain MCP Adapters for tool integration.
esakrissa
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:
- Signal Handling: Captures SIGINT and SIGTERM signals to initiate graceful shutdown
- Process Tracking: The main agent maintains a registry of all child processes
- Cleanup Process: Ensures all subprocesses are properly terminated on exit
- Shutdown Flags: Each MCP server has a shutdown flag to prevent new operations when shutdown is initiated
- 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:
- Create a new file in
src/mcpserver/
- Implement the server with proper signal handling
- Update
src/mcpserver/__init__.py
to expose the new server - Add the server configuration to
src/agent.py
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.