数据库 MCP 工具箱¶
Supported in ADKPythonGo
数据库 MCP 工具箱 是一个用于数据库的开源 MCP 服务器。它在设计时就考虑了企业级和生产质量。 通过处理连接池、身份验证等复杂性,它使你能更轻松、快速和安全地开发工具。
Google 的智能体开发工具包 (ADK) 内置支持工具箱。如需了解有关入门 或配置工具箱的更多信息,请参见文档。

支持的数据源¶
MCP 工具箱为以下数据库和数据平台提供开箱即用的工具集:
Google Cloud¶
- BigQuery(包括用于 SQL 执行、模式发现和 AI 驱动的时间序列预测的工具)
- AlloyDB(与 PostgreSQL 兼容,包含标准查询和自然语言查询的工具)
- AlloyDB Admin
- Spanner(支持 GoogleSQL 和 PostgreSQL 方言)
- Cloud SQL(专门支持 适用于 PostgreSQL 的 Cloud SQL、适用于 MySQL 的 Cloud SQL 和 适用于 SQL Server 的 Cloud SQL)
- Cloud SQL Admin
- Firestore
- Bigtable
- Dataplex(用于数据发现和元数据搜索)
- Cloud Monitoring
关系型和 SQL 数据库¶
- PostgreSQL(通用)
- MySQL(通用)
- Microsoft SQL Server(通用)
- ClickHouse
- TiDB
- OceanBase
- Firebird
- SQLite
- YugabyteDB
NoSQL 和键值存储¶
图数据库¶
数据平台和联合¶
其他¶
配置和部署¶
工具箱是你自己部署和管理的开源服务器。有关部署和配置的更多说明,请参见官方工具箱文档:
为 ADK 安装客户端 SDK¶
ADK 依赖 mcp-toolbox-sdk-go go 模块来使用工具箱。在开始之前安装该模块:
加载工具箱工具¶
一旦你的工具箱服务器配置好并开始运行,你就可以使用 ADK 从你的服务器加载工具:
package main
import (
"context"
"fmt"
"github.com/googleapis/mcp-toolbox-sdk-go/tbadk"
"google.golang.org/adk/agent/llmagent"
)
func main() {
toolboxClient, err := tbadk.NewToolboxClient("https://127.0.0.1:5000")
if err != nil {
log.Fatalf("未能创建 MCP 工具箱客户端: %v", err)
}
// 加载一组特定的工具
toolboxtools, err := toolboxClient.LoadToolset("my-toolset-name", ctx)
if err != nil {
return fmt.Sprintln("无法加载工具箱工具集", err)
}
toolsList := make([]tool.Tool, len(toolboxtools))
for i := range toolboxtools {
toolsList[i] = &toolboxtools[i]
}
llmagent, err := llmagent.New(llmagent.Config{
...,
Tools: toolsList,
})
// 加载单个工具
tool, err := client.LoadTool("my-tool-name", ctx)
if err != nil {
return fmt.Sprintln("无法加载工具箱工具", err)
}
llmagent, err := llmagent.New(llmagent.Config{
...,
Tools: []tool.Tool{&toolboxtool},
})
}
高级工具箱功能¶
工具箱有各种功能,可使为数据库开发 Gen AI 工具变得更容易。 如需更多信息,请阅读以下功能的更多内容:
- 认证参数:自动将工具输入绑定到 OIDC 令牌中的值,使运行敏感查询变得更容易而不至于潜在地泄露数据
- 授权调用:基于用户的认证令牌限制使用工具的访问权限
- OpenTelemetry:使用 OpenTelemetry 从工具箱获取指标和跟踪