使用说明
使用ADK代理和MCP工具箱查询BigQuery数据集
概述
This project demonstrates how to build a powerful agent capable of querying BigQuery datasets using the Agent Development Kit (ADK) and the
Model-Context-Protocol (MCP) Toolbox. The agent can understand natural language queries, translate them into SQL, execute them on BigQuery, and return the
results.
u
建筑
该架构由以下组件组成:
了解他们的要求,并协调工具来满足他们的要求。
MCP工具箱: 通过模型上下文协议(MCP)向ADK代理公开一组工具的服务器。这些工具为代理提供
与BigQuery交互的能力。
BigQuery: 谷歌的无服务器、高度可扩展的数据仓库。代理将查询存储在BigQuery中的数据集。
代理接收用户的查询,识别查询数据的意图,然后使用MCP工具箱中的适当工具对以下对象执行SQL查询
BigQuery。
数据库代理和MCP工具箱
ADK代理商: Agent Development Kit允许开发人员构建复杂的代理,这些代理可以推理、计划和使用工具来完成复杂的任务。
这些代理不仅仅是简单的聊天机器人;它们可以配置特定的指令,并可以访问各种工具与外部进行交互
系统。
- MCP数据库工具箱: MCP工具箱充当代理和数据库之间的桥梁。它公开了数据库操作(如执行SQL
查询)作为代理可以使用的工具。这有几个优点:- 摘要: 代理不需要知道如何连接或查询数据库的具体细节。它只需要知道如何使用工具。
- 安全: MCP工具箱可以执行安全策略,确保代理只能访问它应该访问的数据。
- 模块化: 您可以轻松地将新工具添加到工具箱中,以扩展代理的功能。
项目结构
__mcp工具箱
── 我的经纪人/
——.venv/
├── gcp_releasenotes_agent_app/
│ ├── agent.py
│ │ └── ...
└── ...
├── 工具箱/
├── tools.yaml
└── README.md
my-agents/:包含ADK代理的源代码。-
my-agents/gcp_releasenotes_agent_app/agent.py:代理应用程序的主要入口点。toolbox/:包含MCP工具箱服务器的实现。
tools.yaml:MCP工具箱提供的工具的配置文件。
- search_world_bank_intl_education:按国家名称告诉政府教育支出的数据集。
- search_release_notes_bq:数据集包含有关GCP bigquery的最新版本、功能和折旧的信息
- solar_ppotential_MountainView:数据集包含有关项目天窗的信息,该信息告诉给定pincode覆盖的总面积
README.md:此文件
入门指南
先决条件
- Python 3.10+
- 谷歌云SDK
- 访问启用了BigQuery API的Google云项目。
安装
克隆存储库:
git clone https://github.com/Madhu-712/Querying-Bigquery-datsets-using-ADK-agents-and-MCP-toolbox.git
cd Querying-Bigquery-datsets-using-ADK-agents-and-MCP-toolbox
设置Python虚拟环境:
python3 -m venv .venv
source .venv/bin/activate
. 安装依赖项:
pip install -r my-agents/requirements.txt
使用Google Cloud进行身份验证:
gcloud auth application-default login
端到端实施(执行步骤)
-
启动MCP工具箱服务器:
运行MCP工具箱服务器以公开BigQuery工具。 -
运行ADK代理:
执行主代理脚本。这将启动会话代理。 -
与代理交互:
现在,您可以在终端中与代理进行交互。向它询问有关BigQuery数据的问题。例如:
“在客户表中显示客户总数。”
然后,代理将使用MCP工具箱中的工具在BigQuery上执行相应的SQL查询,并将结果返回给您。
贡献
Contributions are welcome! Please feel free to submit a pull request.
- 分叉存储库。
- 创建新分支:
git checkout -b my-feature-branch - 进行更改并提交:
git commit -m 'Add some feature' - 推到分支:
git push origin my-feature-branch
许可证
该项目根据MIT许可证获得许可。请参阅 LICENSE 文件以获取详细信息。
│
资源
(https://codelabs.developers.google.com/mcp-toolbox-bigquery-dataset#3)