googleapis/genai-toolboxView GitHub Homepage for Latest Official Releases
MCP数据库工具箱是一个开源的MCP服务器,用于简化数据库工具开发,提供连接池、身份验证等功能
Apache-2.0Gogenai-toolboxgoogleapis 9.0k Last Updated: August 07, 2025
Genai-toolbox项目介绍
项目概述
MCP数据库工具箱(MCP Toolbox for Databases) 是Google开源的一个数据库服务器工具,专为简化Gen AI工具的开发而设计。该项目使开发者能够更轻松、快速且安全地构建能够访问数据库数据的AI代理工具。
项目地址: https://github.com/googleapis/genai-toolbox
核心功能与特性
1. 简化开发流程
- 快速集成:仅需不到10行代码即可将工具集成到代理中
- 工具复用:支持在多个代理或框架之间重复使用工具
- 便捷部署:更轻松地部署工具的新版本
2. 性能优化
- 连接池管理:内置连接池机制,优化数据库连接性能
- 最佳实践:集成了数据库访问的最佳实践
- 高效处理:优化的数据处理和查询执行
3. 增强安全性
- 集成身份验证:提供更安全的数据访问机制
- 安全连接:确保数据库连接的安全性
- 权限控制:支持细粒度的访问控制
4. 端到端可观测性
- 内置监控:提供开箱即用的指标和追踪功能
- OpenTelemetry支持:内置OpenTelemetry支持,便于监控和调试
- 全链路追踪:支持完整的请求链路追踪
架构设计
工具箱位于应用程序的编排框架和数据库之间,提供一个控制平面,用于修改、分发或调用工具。它通过提供一个集中的位置来存储和更新工具,简化了工具的管理,允许在代理和应用程序之间共享工具,并在不必重新部署应用程序的情况下更新这些工具。
安装方式
二进制安装
# 查看发布页面获取其他版本
export VERSION=0.4.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
容器镜像
# 查看发布页面获取其他版本
export VERSION=0.4.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
源码编译
go install github.com/googleapis/genai-toolbox@v0.4.0
使用方法
基本使用流程
- 配置tools.yaml文件:定义您的工具
- 启动服务器:
./toolbox --tools_file "tools.yaml"
- 加载工具到应用程序:使用相应的SDK
支持的客户端SDK
Core SDK
from toolbox_core import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = await client.load_toolset("toolset_name")
LangChain/LangGraph SDK
from toolbox_langchain import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()
LlamaIndex SDK
from toolbox_llamaindex import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()
配置说明
数据源配置
sources:
my-pg-source:
kind: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
工具配置
tools:
search-hotels-by-name:
kind: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
- name: name
type: string
description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
工具集配置
toolsets:
my_first_toolset:
- my_first_tool
- my_second_tool
my_second_toolset:
- my_second_tool
- my_third_tool
版本控制
- MAJOR版本:不兼容的API更改
- MINOR版本:向后兼容的功能添加
- PATCH版本:向后兼容的错误修复
适用场景
- AI代理开发:为AI代理构建数据库访问工具
- 数据集成:简化应用程序与数据库的集成
- 工具管理:集中管理和分发数据库工具
- 多框架支持:在不同的AI框架间共享工具
项目优势
- 开源免费:完全开源,由Google维护
- 成熟稳定:基于Google的最佳实践
- 生态兼容:支持主流AI框架
- 易于扩展:灵活的配置和扩展机制
- 企业级:提供企业级的安全性和可观测性
总结
MCP数据库工具箱是一个功能强大且易于使用的开源项目,专为现代AI应用程序的数据库集成需求而设计。它通过提供简化的开发体验、优化的性能、增强的安全性和全面的可观测性,帮助开发者快速构建可靠的AI数据库工具。
无论您是在开发AI代理、构建数据驱动的应用程序,还是需要在多个框架间共享数据库工具,MCP数据库工具箱都是一个值得考虑的解决方案。其灵活的架构设计和丰富的SDK支持,使其能够很好地适应各种开发场景和需求。