Token导航 LogoToken导航TokenDH.com
Custome MCP Client Server logo
地图位置stdio官方级别未说明来源级核验

Custome MCP Client Server

MCP Server

一个展示如何集成多个模型上下文协议(MCP)服务器与LangChain和LangGraph创建智能代理的项目,该代理能够执行数学运算和天气查询。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
智能代理Python数学运算位置天气

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Abdul-Rehman6

提供方

Abdul-Rehman6

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install langchain-mcp-adapters langgraph langchain-openai python-dotenv mcp

详细介绍

MCP LangChain 多服务器演示

一个演示项目,展示了如何将多个模型上下文协议(MCP)服务器与LangChain和LangGraph集成,以创建一个能够执行数学运算和天气查询的智能代理。

概述

这个项目展示了如何:

  • 设置多个MCP服务器(数学和天气)
  • 使用LangChain的MCP适配器将它们连接起来
  • 使用LangGraph创建一个ReAct代理,该代理能够智能地选择和使用合适的工具
  • 在不同领域执行多步骤推理任务

项目结构

.
├── client.py          # Main agent client that orchestrates multiple MCP servers
├── mathserver.py      # MCP server providing mathematical operations
├── weather.py         # MCP server providing weather information
├── main.py            # Legacy/unused file (can be removed)
├── .env               # Environment variables (OpenAI API key)
└── README.md          # This file

特点/特性

数学服务器

  • 添加加两个数
  • 乘以将两个数相乘

天气服务器

  • 获取天气信息获取任何地点的天气信息

智能代理

  • 使用OpenAI的GPT-4o-mini模型
  • 根据用户查询自动选择合适的工具
  • 处理多步推理(例如,“先将3和5相加,然后乘以12”)

先决条件

  • Python 3.8 或更高版本
  • OpenAI API密钥
  • 使用 pip 或 poetry 进行包管理

安装

  1. 克隆仓库:
git clone 
cd 
  1. 安装所需的依赖项:
pip install langchain-mcp-adapters langgraph langchain-openai python-dotenv mcp
  1. 创建一个 .env 项目根目录下的文件:
OPENAI_API_KEY=your_openai_api_key_here

使用方法

运行客户端以查看代理的运行情况:

python client.py

示例输出

该脚本展示了两种类型的查询:

  1. 数学查询“(3 + 5) x 12等于多少?”

- 该代理将使用数学服务器的 add 并且 multiply 工具 - 预期结果:96

  1. 天气查询“加州的天气怎么样?”

- 该代理将使用天气服务器的 get_weather 工具 - 返回一个模拟的天气响应

它是如何工作的

1. MCP 服务器

该项目使用FastMCP来创建轻量级的MCP服务器:

  • mathserver.py 翻译为中文是“数学服务器.py”或“数学服务脚本.py”,具体取决于上下文和该文件的具体用途。这里,“mathserver”通常指的是一个提供数学计算或服务的服务器或脚本,“.py”表示这是一个Python脚本文件揭露 add 并且 multiply 作为工具发挥作用
  • weather.py 翻译成中文是:“天气.py”(这里“weather”表示“天气”,“.py”表示这是一个Python脚本文件)揭露 get_weather 作为工具的功能

每个服务器独立运行,并通过标准输入/输出(stdio)进行通信。

2. 客户端配置

client.py 文件:

  • 初始化 MultiServerMCPClient 两台服务器的配置均已就绪
  • 从两台服务器中检索所有可用工具
  • 使用LangGraph创建一个ReAct代理
  • 向代理发送查询,代理智能地选择和使用适当的工具

3. 代理工作流程

User Query → Agent (GPT-4o-mini) → Tool Selection → MCP Server → Response → Agent → Final Answer

建筑学

┌─────────────────────────────────────────┐
│           client.py                      │
│  ┌───────────────────────────────────┐  │
│  │  MultiServerMCPClient             │  │
│  │  ┌─────────────┐  ┌─────────────┐ │  │
│  │  │   Math      │  │   Weather   │ │  │
│  │  │   Server    │  │   Server    │ │  │
│  │  └─────────────┘  └─────────────┘ │  │
│  └───────────────────────────────────┘  │
│                                          │
│  ┌───────────────────────────────────┐  │
│  │  LangGraph ReAct Agent            │  │
│  │  (GPT-4o-mini)                    │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘

项目延期

为现有服务器添加新工具

编辑 mathserver.py 或者 weather.py

@mcp.tool()
def subtract(a: int, b: int) -> int:
    """Subtract b from a"""
    return a - b

添加一个新的MCP服务器

  1. 创建一个新的服务器文件(例如。, dateserver.py):
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Date")

@mcp.tool()
def get_current_date() -> str:
    """Get the current date"""
    from datetime import datetime
    return datetime.now().strftime("%Y-%m-%d")

if __name__ == "__main__":
    mcp.run(transport="stdio")
  1. 将其添加到客户端配置中 client.py:
client = MultiServerMCPClient({
    "Math": {...},
    "Weather": {...},
    "Date": {
        "command": "python",
        "args": ["dateserver.py"],
        "transport": "stdio",
    }
})

故障排除

导入错误

确保所有依赖项都已安装:

pip install --upgrade langchain-mcp-adapters langgraph langchain-openai python-dotenv mcp

OpenAI API密钥问题

  • 验证您的 .env 文件包含有效内容 OPENAI_API_KEY
  • 检查密钥是否拥有足够的信用额度

服务器通信问题

  • 确保客户端配置中服务器文件的路径正确
  • 检查Python是否已添加到系统的PATH中
  • 验证服务器文件是否可执行

依赖项

  • langchain-mcp-adapters用于将MCP服务器与LangChain集成的适配器
  • langgraph构建有状态代理的框架
  • langchain-openaiLangChain的OpenAI集成
  • python-dotenv环境变量管理
  • mcp模型上下文协议库

许可证

\[此处填写您的许可证\]

做出贡献

欢迎贡献!请随时提交拉取请求。

资源

作者

\[您的姓名/组织名称\]

致谢

  • 针对模型上下文协议的人工智能伦理原则(Anthropic for the Model Context Protocol,可简化为“模型上下文协议的人工智能伦理原则”,但根据语境,“Anthropic的模型上下文协议”或“Anthropic针对模型上下文的协议”也是可接受的表述,具体取决于强调的重点)
  • LangChain团队,感谢你们提供的出色工具
  • 用于语言模型的OpenAI

目录标签

目录标签

智能代理Python数学运算位置天气本地部署多服务器集成天气查询LangChain

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP