使用说明
客户支持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工具调用和最终面向客户的响应。
包括测试场景
- 任务分配(数据获取+支持响应)
- 取消订阅+账单升级
- 高优先级票务协调
- 按ID提取简单数据
- 持有未结门票的活跃客户(自定义工具)
- 多意图更新+票历史检索
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驱动的客户支持流程!