MCP cover image
See in Github
2025-04-01

使用MCP服务器的Langchain代理:使用Langchain MCP适配器进行工具集成。

1

Github Watches

0

Github Forks

0

Github Stars

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

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • modelcontextprotocol
  • 模型上下文协议服务器

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • ravitemer
  • 一个功能强大的Neovim插件,用于管理MCP(模型上下文协议)服务器

    Reviews

    4 (1)
    Avatar
    user_4EuXQgMW
    2025-04-16

    As an avid user, I must say MCP_Server_Spotify by Hashim9184 is phenomenal. The integration with Spotify is seamless, making music streaming delightful. The server's performance and reliability are top-notch, ensuring an uninterrupted musical experience. Highly recommend checking it out: https://mcp.so/server/MCP_Server_Spotify/Hashim9184.