项目简介
本项目包含一个基于MCP (Model Context Protocol) 的服务器以及一个使用该服务器的多智能体销售顾问系统。MCP服务器负责托管并提供关键的后端能力,如产品库存查询和订单创建,而多智能体系统(基于CrewAI)则作为客户端调用这些能力来与用户互动,分析需求,提供咨询,并处理订单。
主要功能点
该MCP服务器提供以下核心功能,可供支持MCP协议的客户端(如大型语言模型或Agent框架)调用:
- 库存查询: 根据产品名称、颜色、存储容量等信息查询MongoDB数据库中的产品库存和价格详情。
- 订单创建: 将结构化的订单数据保存到文件系统中。
- 订单查询: 根据订单ID检索已保存的订单详情。
安装步骤
- 克隆仓库:
git clone https://github.com/TrongNV2003/Multi-Agents-MCP.git cd Multi-Agents-MCP - 安装依赖: 确保您安装了Python 3.8+,然后安装项目所需的库。
pip install -r requirements.txt - 设置环境变量: 根据 'multi_agents/config/settings.py' 中的配置,您需要设置以下环境变量,通常放在项目根目录的 '.env' 文件中:
- 'GEMINI_API_KEY': 您的Gemini API密钥。
- 'GEMINI_MODEL': (可选)Gemini模型名称,默认为 'gemini/gemini-1.5-flash'。
- 'TEMPERATURE' 等LLM配置参数也可以在 '.env' 中覆盖默认值。
- 'MCP_SERVER_BASE_URL': (可选)MCP服务器的基础URL,默认为 'http://localhost:8000/sse'。
- 'MONGO_URI': (可选)MongoDB连接字符串,默认为 'mongodb://localhost:27017'。
- 'DB_NAME': (可选)MongoDB数据库名称,默认为 'inventory'。
- 初始化数据库: 项目使用MongoDB存储产品库存信息。
- 确保您的本地或远程有运行的MongoDB实例。
- 运行脚本填充示例数据(需要安装pymongo):
python multi_agents/db/insert_data.py
- 创建订单存储目录: 服务器会将订单保存在 'orders' 目录下,确保该目录存在或服务器有权限创建。
服务器配置 (供MCP客户端使用)
该MCP服务器运行在 'http://localhost:8000' 并使用 SSE (Server-Sent Events) 作为传输协议。
一个MCP客户端要连接并使用这个服务器,需要知道服务器的地址、端口、传输协议以及它提供的工具。配置信息通常以 JSON 格式提供给客户端,类似如下(注意:这不是代码,是客户端配置的示例结构和内容说明):
{ "server_name": "mcp server", // 服务器的内部名称,由服务器定义 "connection_type": "sse", // 传输协议类型 "url": "http://localhost:8000/sse", // 服务器的连接URL "available_tools": [ // 服务器声明的能力/工具列表 { "name": "create_order", "description": "Saves order data to a file. Input is a JSON string with order details." // 客户端框架通常会自动获取更详细的参数 schema }, { "name": "get_order", "description": "Retrieves the content of an order file by its order_id. Returns a dictionary with file_content or error message." }, { "name": "get_product_info", "description": "Retrieves inventory details from storage based on the product. Input is a JSON object/string with product name, and optionally storage and color." } ] // 其他可能的配置,如认证信息等 (本项目中未涉及) }
客户端框架(如本仓库中的多智能体代码)会解析这些信息,通过指定的URL和协议与服务器建立连接,并通过 MCP 标准的 'tool_code/call_tool' JSON-RPC 方法调用列出的工具。
基本使用方法
- 启动MCP服务器: 在项目根目录运行:
服务器将在后台监听 'http://localhost:8000/sse'。python mcp_server.py - 运行客户端应用:
- 运行命令行多智能体示例:
python main.py - 运行Streamlit UI界面:
python -m streamlit run multi_agents/ui/main.py
- 运行命令行多智能体示例:
信息
分类
商业系统