多代理客户服务平台

一个基于Model Context Protocol(MCP)和多个专用A2A代理的多代理客户服务平台,支持JSON-RPC通信和LangGraph编排。

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

使用说明

🌐 多代理客户服务系统(MCP+A2A)

这个项目展示了一个完全有效的 多代理客户服务平台 技术支持:

  • ✔ 结构化数据库访问的模型上下文协议(MCP)
  • ✔ 多个专用A2A代理(路由器、数据、支持、计费)
  • ✔ 跨独立运行的代理服务器的JSON-RPC通信
  • ✔ 基于LangGraph的多步骤工作流编排
  • ✔ 用于实际端到端任务路由的演示运行器

📁 项目结构

/mcp_server          # MCP server (FastAPI) with tools/list, tools/call, SSE support
/agents/router       # LangGraph router agent (A2A server)
/agents/data         # Customer Data Agent (talks to MCP server)
/agents/support      # Support Agent for general issues
/agents/billing      # Billing Agent (optional escalation handler)
/shared              # Utilities (SQLite + A2A RPC helpers)
requirements.txt     # Python dependencies

🔧 需求

  • python 3.11+
  • 安装依赖项:
pip install -r requirements.txt

🚀 运行所有服务

为每项服务打开单独的终端:

uvicorn mcp_server.app:app --port 8000 --reload
uvicorn agents.data.main:app --port 8011 --reload
uvicorn agents.support.main:app --port 8012 --reload
uvicorn agents.billing.main:app --port 8013 --reload
uvicorn agents.router.main:app --port 8010 --reload

▶️ 演示脚本

python demo.py "Need the history for customer 1"

🔌 MCP协议支持

  • GET/工具/列表
  • POST/工具/呼叫
  • GET/事件/流

🤖 代理人对代理人(A2A)

每个代理暴露:

  • /.well-known/agent.json
  • /rpc JSON-RPC端点
  • LangGraph推理(路由器代理)

🧪 测试场景

  1. “获取ID 5的客户信息”
  2. “我是客户12345,需要帮助升级我的帐户”
  3. “显示所有有未结门票的活跃客户”
  4. “我已经被收费两次了,请立即退款!”
  5. “更新我的电子邮件并显示我的机票历史记录”

⚙️ 环境变量

  • MCP_SERVER_URL
  • 数据代理
  • 支持_代理_RPC
  • BILLING_AGENT_RPC