猫头虎 分享:谷歌最新开源的 MCP 数据库工具 —— MCP Toolbox for Databases, 不到 10 行 Python 代码,AI 智能体即可访问数据库
猫头虎 分享:谷歌最新开源的 MCP 数据库工具 —— MCP Toolbox for Databases, 不到 10 行 Python 代码,AI 智能体即可访问数据库
谷歌开源 MCP Toolbox for Databases 是一款面向 AI 智能体数据库访问 的高性能 开源工具,支持 Python SDK、LangChain、LlamaIndex、TypeScript 等多种 Client SDK。不到 10 行代码即可通过 MCP 服务器化架构 实现 低代码 集成,内置 连接池管理、身份验证、TLS 安全传输 和 OpenTelemetry 端到端监控,兼容 Docker 部署、Go 源码编译。只需在 tools.yaml
中定义 数据源(Postgres、MySQL、MongoDB…) 与 SQL/NoSQL 工具,便能快速构建 智能体自动化查询、自然语言 SQL 生成、数据库管理自动化 和 GenAI 数据库助手,大幅提升开发效率与安全性,助力企业级 数据库集成 与 智能助手开发。
几行代码即可将数据库访问能力集成到 AI 智能体,并在多个智能体间复用。
内置高性能连接池管理与灵活的身份验证机制,让你的智能体安全、可靠地操作数据库。
GitHub 仓库:https://github.com/googleapis/genai-toolbox
⚠️ 当前版本处于 Beta,配置或接口可能在 v1.0 前发生变动。
文章目录
-
- 一、为什么选择 MCP Toolbox for Databases?
- 二、总体架构
- 三、快速上手
-
- 1. 安装 Server
- 2. 运行 Server
- 3. 在应用中加载工具
- 四、配置详解:`tools.yaml`
-
- 1. 定义数据源(sources)
- 2. 定义工具(tools)
- 3. 组合工具集(toolsets)
- 五、版本管理
-
- 联系我与版权声明 📩
一、为什么选择 MCP Toolbox for Databases?
MCP Toolbox for Databases
– Google 最新开源的 MCP 服务器化数据库工具,帮你轻松构建安全、可观察、可复用的数据库访问能力。
- 简化开发
不到 10 行 Python 代码,快速将数据库访问工具集成到任意 AI 智能体;同一套工具可在多个智能体间复用。 - 高性能
开箱即用的连接池管理,自动复用连接、控制并发;内建 OpenTelemetry 支持,提供端到端指标与追踪。 - 增强安全
支持多种身份验证方式,统一管理数据库凭据与访问权限;工具与智能体之间通信基于 TLS。 - 集中管理
一处定义、随处调用:将所有“工具”配置在tools.yaml
,智能体只需加载对应 toolset,无需重复部署。
👉 想了解更多?请查看完整文档:https://googleapis.github.io/genai-toolbox/
二、总体架构
Toolbox 位于智能体框架与数据库之间,为工具的注册、分发与调用提供「控制平面」。
- 智能体框架(LangChain / LlamaIndex / GenKit …)
- └─ Toolbox Server —— 管理
tools.yaml
、连接池、认证、埋点 - └─ 各类关系型/NoSQL 数据库
三、快速上手
1. 安装 Server
二进制安装(示例以 Linux/amd64 v0.8.0 为例):
# 查看 Releases 页面获取其它版本export VERSION=0.8.0curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolboxchmod +x toolbox
Docker 镜像:
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
源码编译:
go install github.com/googleapis/genai-toolbox@v0.8.0
2. 运行 Server
准备好你的 tools.yaml
后,启动:
./toolbox --tools-file tools.yaml# 更多命令参数:./toolbox help
按下 Ctrl+C
可停止服务。
想部署到 Kubernetes、GCE 等环境?请参考 How-to 指南:https://googleapis.github.io/genai-toolbox/how-to/
3. 在应用中加载工具
下面展示几种主流 SDK 的接入示例。示例均假设 Server 运行在 http://127.0.0.1:5000
。
Python Core SDK
pip install toolbox-core
from toolbox_core import ToolboxClientasync with ToolboxClient(\"http://127.0.0.1:5000\") as client: # 加载名为 \"my_db_tools\" 的工具集 tools = await client.load_toolset(\"my_db_tools\") # 将 tools 传给你的智能体框架(如 LangChain)
更多细节见:
https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core/README.md
LangChain / LangGraph
pip install toolbox-langchain
from toolbox_langchain import ToolboxClientasync with ToolboxClient(\"http://127.0.0.1:5000\") as client: tools = client.load_toolset(\"my_db_tools\") # 在 LangChain Agent 中注册 tools
详见:https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-langchain/README.md
LlamaIndex
pip install toolbox-llamaindex
from toolbox_llamaindex import ToolboxClientasync with ToolboxClient(\"http://127.0.0.1:5000\") as client: tools = await client.load_toolset(\"my_db_tools\") # 在索引构建或查询时使用 tools
详见:https://github.com/googleapis/genai-toolbox-llamaindex-python/blob/main/README.md
JavaScript / TypeScript
npm install @toolbox-sdk/core
import { ToolboxClient } from \'@toolbox-sdk/core\';const client = new ToolboxClient(\'http://127.0.0.1:5000\');const tools = await client.loadToolset(\'my_db_tools\');// 将 tools 传给你的 GenKit、LangGraph 或自建框架
详见:https://github.com/googleapis/mcp-toolbox-sdk-js/blob/main/packages/toolbox-core/README.md
四、配置详解:tools.yaml
1. 定义数据源(sources)
sources: my-pg-source: kind: postgres host: 127.0.0.1 port: 5432 database: toolbox_db user: toolbox_user password: my-password
2. 定义工具(tools)
tools: search-hotels-by-name: kind: postgres-sql source: my-pg-source description: 按名称模糊查询酒店 parameters: - name: name type: string description: 酒店名称 statement: SELECT * FROM hotels WHERE name ILIKE \'%\' || $1 || \'%\';
3. 组合工具集(toolsets)
toolsets: booking_agent: - search-hotels-by-name - list-available-rooms analytics_agent: - search-hotels-by-name - revenue-report
加载所有工具:
tools = await client.load_toolset()
加载指定工具集:
tools = await client.load_toolset(\"analytics_agent\")
更多资源类型详见:https://googleapis.github.io/genai-toolbox/resources/
五、版本管理
本项目遵循 语义化版本:
- MAJOR:不兼容 API 变更
- MINOR:新增功能,向下兼容
- PATCH:向下兼容的 Bug 修复
影响范围包括 CLI、SDK 接口及 tools.yaml
配置格式。
MCP Toolbox for Databases,让你的 AI 智能体拥有强大、安全、可复用的数据库操作能力,助你事半功倍!
联系我与版权声明 📩
- 联系方式:
- 微信: Libin9iOak
- 公众号: 猫头虎技术团队
- 版权声明:
本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。
点击✨⬇️下方名片
⬇️✨,加入猫头虎AI共创社群矩阵。一起探索科技的未来,共同成长。🚀
🔗 猫头虎抱团AI共创社群 | 🔗 GitHub 代码仓库 | 🔗 Go生态洞察专栏 ✨ 猫头虎精品博文