Token导航 LogoToken导航TokenDH.com
Swarajmundruppadyrao MCP logo
AI代理stdio官方级别未说明来源级核验

Swarajmundruppadyrao MCP

MCP Server

该项目展示了如何将Model Context Protocol (MCP)服务器与Langchain和Groq集成,构建能够通过不同传输协议使用多种工具的AI代理。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
AI代理Python工作流自动化

安装说明

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

作者 / 组织

SwarajMundruppadyRao

提供方

SwarajMundruppadyRao

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

python -m venv .venv

详细介绍

带Langchain的MCP服务器

该项目演示了如何将模型上下文协议(MCP)服务器与Langchain和Groq集成,以构建可以通过不同传输协议使用多种工具的AI代理。

🚀 特性

  • 多个MCP服务器:数学服务器(stdio)和天气服务器(HTTP)
  • Langchain集成:使用Langchain的MCP适配器实现无缝工具集成
  • 希腊 LLM:由Groq的快速推理提供支持 llama-3.1-8b-instant 模型
  • 反应代理:使用Langraph的预构建React代理进行工具编排
  • 双重运输:演示stdio和HTTP传输协议

📋 先决条件

  • Python 3.13或更高版本
  • Groq API 密钥
  • 虚拟环境支持

🛠️ 安装

  1. 克隆/下载项目
   cd "MCP Server With Langchain"
  1. 创建并激活虚拟环境
   python -m venv .venv
   .venv\Scripts\activate.bat  # On Windows
  1. 安装依赖项
   pip install -r requirements.txt
  1. 设置环境变量

- 复制 .env.example.env: copy .env.example .env - 编辑 .env 并添加您的Groq API密钥:

     GROQ_API_KEY="your_groq_api_key_here"

📂 项目结构

MCP Server With Langchain/
├── .env                    # Environment variables
├── .venv/                  # Virtual environment
├── client.py              # Main client application
├── mathserver.py          # Math MCP server (stdio transport)
├── weather.py             # Weather MCP server (HTTP transport)
├── requirements.txt       # Python dependencies
├── pyproject.toml         # Project configuration
└── README.md              # This file

🔧 配置

依赖关系(requirements.txt)

langchain-groq
langchain-mcp-adapters
mcp
httpx
python-dotenv

环境变量

GROQ_API_KEY=your_groq_api_key_here
OPENWEATHER_API_KEY=your_openweather_api_key_here  # Optional

🏃‍♂️ 用法

步骤1:启动天气服务器

打开终端并运行:

.venv\Scripts\activate.bat
.venv\Scripts\python.exe weather.py

您应该看到:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

步骤2:运行客户端

打开另一个终端并运行:

.venv\Scripts\activate.bat
.venv\Scripts\python.exe client.py

期望输出

Available tools: ['add', 'multiply', 'get_weather']
Math response: The result of the calculation is 96.

Testing another math operation...
Math response 2: The result of multiplying 7 and 8 is 56.

🏗️ 建筑

MCP服务器

数学服务器(mathserver.py)

  • 运输:stdio
  • 工具:

- add(a: int, b: int) -> int:将两个数字相加 - multiply(a: int, b: int) -> int:将两个数字相乘

天气服务器(weather.py)

  • 运输:streamable_http
  • 端口: 8000
  • API:使用OpenWeatherMap API获取真实天气数据
  • 后备方案:未提供API密钥时返回演示数据
  • 工具:

- get_weather(location: str) -> str:返回当前天气信息

客户端应用程序(client.py)

  • 框架:表链+表链
  • LLM: 希腊语 llama-3.1-8b-instant
  • 代理:用于工具编排的React代理
  • 传输协议:stdio和HTTP

🔌 MCP集成

客户使用 MultiServerMCPClient 要连接到多个MCP服务器:

client = MultiServerMCPClient({
    "math": {
        "command": ".venv\\Scripts\\python.exe",
        "args": ["mathserver.py"],
        "transport": "stdio"
    },
    "weather": {
        "url": "http://127.0.0.1:8000/mcp",
        "transport": "streamable_http"
    }
})

📊 交互示例

数学运算

User: Calculate (3 + 5) × 12
Agent: Uses add(3, 5) → 8, then multiply(8, 12) → 96

天气查询

User: What's the weather in California?
Agent: Uses get_weather("California") → "It's always raining in California"

🛠️ 发展

添加新工具

  1. 创建新的MCP服务器 遵循FastMCP模式
  2. 添加服务器配置 给客户
  3. 更新客户端 处理新的工具类型

示例:添加计算器服务器

# calculator_server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Calculator")

@mcp.tool()
def divide(a: float, b: float) -> float:
    """Divide two numbers"""
    return a / b

if __name__ == "__main__":
    mcp.run(transport="stdio")

🔍 故障排除

常见问题

  1. ModuleNotFoundError:没有名为“mcp”的模块

- 解决方案:确保您使用的是虚拟环境Python - 用途: .venv\Scripts\python.exe 而不是 python

  1. 与天气服务器的连接被拒绝

- 解决方案:确保气象服务器在端口8000上运行 - 检查: python weather.py 正在另一个终端中运行

  1. Groq API错误

- 解决方案:在中验证您的GROQ_API_KEY .env 文件 - 检查:您的API密钥有足够的信用

调试提示

  • 检查可用工具:客户端在启动时打印所有可用工具
  • 验证服务器日志:两台服务器都显示请求/响应日志
  • 单独测试:您可以独立测试每台服务器

📚 了解更多

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

📄 许可证

这个项目是为了教育目的。请检查单个组件许可证。

🎯 后续步骤

  • \[\]添加更多MCP服务器(数据库、文件系统等)
  • \[\]实现错误处理和重试逻辑
  • \[\]添加流媒体响应
  • \[\]创建web界面
  • \[\]添加身份验证和安全性
  • \[\]实现工具结果缓存

______________________________________________________________________

快乐编码! 🚀

如有疑问或问题,请查看故障排除部分或在存储库中创建问题。

目录标签

目录标签

AI代理Python工作流自动化本地部署多协议集成LangchainGroqLLM工具编排

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP