ADK Web的CData MCP代理
一个Google ADK代理,通过MCP(模型上下文协议)提供对CData Connect Cloud数据库的自然语言访问。
特性
- 🔍 自然语言查询:用简单的英语询问有关数据的问题
- 📊 数据库探索:浏览目录、架构和表
- 🔧 SQL执行:在连接的数据源上运行查询
- 🌐 web界面:通过ADK Web的可视化界面
先决条件
- Python 3.8+
- 谷歌人工智能API密钥
- CData Connect Cloud MCP服务器凭据
设置
- 安装ADK和依赖项:
pip install google-adk python-dotenv备注:如果使用安装pip install --user(或者pip默认为用户安装)adk命令可能不在您的PATH中。您需要: - 使用完整路径:~/Library/Python/3.x/bin/adk(在macOS上) - 添加到路径:export PATH="$HOME/Library/Python/3.x/bin:$PATH"在shell配置中 - 使用自动配置PATH的虚拟环境
- 配置环境变量:
- 复制 .env.example 文件到 .env:
cp .env.example .env- 编辑 .env 并添加您的凭据:
# Google AI API Configuration
GOOGLE_API_KEY=your_google_api_key_here
# CData MCP Server Configuration
MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp
MCP_USERNAME=your_email@example.com
MCP_PASSWORD=your_mcp_password_here
# Optional: Gemini Model (defaults to gemini-2.0-flash-exp)
GEMINI_MODEL=gemini-2.0-flash-exp使用ADK Web运行
- 启动ADK Web 从该目录:
adk web --port 5000 .- 打开web界面 (通常http://localhost:5000)
- 选择代理:选择
cdata_query_assistant从下拉列表中
- 开始查询 您的数据使用自然语言:
- “有哪些可用的数据库?” - “显示MongoDB1中的表” - “列出SQL2数据库中的架构” - “客户表中有哪些列?”
查询示例
- 探索数据库:“列出所有可用目录”
- 查看架构:“显示MongoDB1目录中的模式”
- 浏览表格:“dbo架构中有哪些表?”
- 检查结构:“描述订单表中的列”
- 查询数据:“显示销售数据库中的最新订单”
运作原理
- ADK代理:The
LlmAgent接收您的自然语言查询 - MCP工具集:通过MCP协议连接到CData Connect Cloud
- 工具发现:自动发现可用的数据操作
- 双子座AI:了解查询并确定使用哪些工具
- 数据访问:执行操作并返回格式化结果
可用的MCP工具
getCatalogs-列出可用数据库getSchemas-查看数据库中的架构getTables-浏览架构中的表getColumns-检查表结构getProcedures-列出存储过程getProcedureParameters-查看程序参数executeProcedure-运行存储过程queryData-执行SQL查询
建筑
User Query → ADK Web UI → CData MCP Agent → Gemini AI
↓ ↓
Visual Interface MCP Protocol
↓ ↓
Response Display CData Connect Cloud故障排除
- 连接错误:验证MCP_SERVER_URL和凭据
- 没有可用的工具:检查MCP服务器是否可访问
- 身份验证问题:确保用户名/密码正确
- windows用户:试试
adk web --no-reload如果遇到子流程错误
备注
- 该代理使用Gemini 2.0 Flash进行快速、智能的响应
- 所有数据操作都通过CData的安全MCP服务器进行
- web界面提供了比CLI更好的用户体验
