LangChain客户端

一个使用LangChain代理连接FastMCP服务器的模型上下文协议(MCP)客户端,支持工具和资源的交互式聊天界面。

  • by AliQambari
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AliQambari/mcp-langchain-simple

使用说明

MCP LangChain 客户端

一个使用LangChain代理连接到FastMCP服务器的模型上下文协议(MCP)客户端。支持工具和资源,提供交互式聊天界面。

设置

  1. 安装依赖项

    uv sync
    
  2. 配置环境 创建 .env 文件:

    OPENROUTER_API_KEY=your_openrouter_api_key
    
  3. 启动MCP服务器

    python server.py
    
  4. 运行客户端

    python client.py
    

特点/功能

  • 🔍(放大镜图标,常用于表示搜索、查看细节等动作) 自动发现 - 自动查找服务器工具和资源
  • 🧠 代表“大脑”或“思考”的意思。 大型语言模型(LLM)集成 - 使用LangChain代理与OpenRouter模型
  • 📊 表格/数据图表 推理显示 - 展示助手的思考过程
  • 🛠️(扳手,常用于表示修理、工具或手动操作) 工具追踪 - 显示使用了哪些工具和资源
  • 💬(表示“文字/对话”的符号,无具体含义,可理解为“说”或“对话”的意思,但在此处作为单独符号使用时,通常不翻译出具体文字,仅保留其表示对话的功能) 互动聊天 - 持续对话循环

示例输出

Discovered 5 tools: ['get_weather_alerts', 'sum_numbers', 'greet_user', 'goodbye', 'translate_text']
Discovered 1 resources

🤖 MCP Chat Client - Type 'quit' to exit
--------------------------------------------------

You: greet Ali if age > 20 else goodbye.

🤔 Reasoning & Actions:
   Thinking: I need to check Ali's age first to determine whether to greet or say goodbye.
   📄 Reading resource: resource://ali's_age
   ↳ Result: 10
   🔧 Using tool: goodbye({'name': 'Ali'})
   ↳ Result: goodbye, Ali see you later!

✅ Final Answer: goodbye, Ali see you later!

You: what's 5 + 3?

🤔 Reasoning & Actions:
   Thinking: I need to calculate the sum of 5 and 3.
   🔧 Using tool: sum_numbers({'a': 5, 'b': 3})
   ↳ Result: 8

✅ Final Answer: 8

You: quit

Goodbye!

服务器工具与资源

示例服务器提供:

  • 工具: greet_user, goodbye, sum_numbers, get_weather_alerts, translate_text
  • 资源: resource://ali's_age (包含年龄数据)

建筑学

Client (LangChain Agent) ←→ MCP Server (FastMCP)
     ↓                           ↓
   Tools + Resources         Tools + Resources

客户端自动发现服务器的功能,并将其提供给大型语言模型(LLM)代理以进行智能决策。