客户支持多代理系统

一个基于模型上下文协议(MCP)的多代理客户支持工作流系统,通过LangGraph代理和Flask服务器实现客户/工单管理。

  • by ZoeyHu1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ZoeyHu1/Multi-Agent-Customer-Service-System-with-A2A-and-MCP

使用说明

客户支持MCP代理

该项目实现了一个多代理客户支持工作流,该工作流通过模型上下文协议(MCP)与真实数据库进行通信。它包含:

  • 基于Flask的MCP服务器(mcp_server.py)它通过HTTP+服务器发送事件公开客户/票证工具。
  • LangGraph代理(agents.py, system_orchestrator.py)负责编排路由器→ Data → 使用Gemini 2.5 Flash支持流。
  • SQLite实用程序(database_setup.py, database_utils.py)以及样本数据。

该代码反映了Google ADK MCP教程,但被打包为一个独立的Python项目。

需求

  • Python 3.10
  • Google Gemini API密钥(导出 GOOGLE_API_KEY)
  • ngrok帐户(暴露MCP服务器)

创建并激活虚拟环境,然后安装依赖项:

python3.10 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

数据库设置

运行一次以创建 support.db 种子样本客户/门票:

python database_setup.py

运行MCP服务器

MCP服务器必须可由Gemini访问。在本地启动并使用ngrok进行暴露:

# Terminal 1: start the server
cd HW5
python mcp_server.py
# Terminal 2: tunnel HTTP traffic
ngrok http 8000

复制HTTPS转发URL(例如 https://abc123.ngrok-free.app)并设置 MCP_SERVER_URL 在 agents.py /环境变量,因此代理引用公共端点(记得附加 /mcp).

运行LangGraph编排器

导出Gemini API密钥并运行编排器脚本以端到端执行所有演示场景:

export GOOGLE_API_KEY="YOUR_KEY"
python system_orchestrator.py

该脚本打印每个场景、代理交接、MCP工具调用和最终面向客户的响应。

包括测试场景

  1. 任务分配(数据获取+支持响应)
  2. 取消订阅+账单升级
  3. 高优先级票务协调
  4. 按ID提取简单数据
  5. 持有未结门票的活跃客户(自定义工具)
  6. 多意图更新+票历史检索

Colab笔记本

该存储库还包括 agent_demo.ipynb,它自动化了整个流程(安装deps,在后台启动MCP服务器,运行编排器,并关闭所有内容)。如果你喜欢基于笔记本电脑的演示,请将其上传到谷歌Colab。

存储库结构

HW5/
├── agents.py                # Gemini agent definitions + MCP invocation helpers
├── database_setup.py        # SQLite schema + sample data installer
├── database_utils.py        # DB helper class consumed by MCP server
├── mcp_server.py            # Flask SSE MCP server
├── system_orchestrator.py   # LangGraph workflow with multiple scenarios
├── agent_demo.ipynb         # End-to-end Colab/Notebook demonstration
├── requirements.txt         # Python dependencies
└── README.md

部署说明

  • 保持 mcp_server.py 只要代理需要工具访问权限,就可以运行。
  • 如果重新启动ngrok,请更新 MCP_SERVER_URL 因此。
  • 双子座免费套餐有严格的每分钟和每天限制;在繁重的测试期间,您可能需要等待配额重置。

享受构建MCP驱动的客户支持流程!