Home
Login
googleapis/genai-toolbox

MCP数据库工具箱是一个开源的MCP服务器,用于简化数据库工具开发,提供连接池、身份验证等功能

Apache-2.0Go 1.4kgoogleapis Last Updated: 2025-06-12
https://github.com/googleapis/genai-toolbox

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

使用方法

基本使用流程

  1. 配置tools.yaml文件:定义您的工具
  2. 启动服务器
    ./toolbox --tools_file "tools.yaml"
    
  3. 加载工具到应用程序:使用相应的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框架间共享工具

项目优势

  1. 开源免费:完全开源,由Google维护
  2. 成熟稳定:基于Google的最佳实践
  3. 生态兼容:支持主流AI框架
  4. 易于扩展:灵活的配置和扩展机制
  5. 企业级:提供企业级的安全性和可观测性

总结

MCP数据库工具箱是一个功能强大且易于使用的开源项目,专为现代AI应用程序的数据库集成需求而设计。它通过提供简化的开发体验、优化的性能、增强的安全性和全面的可观测性,帮助开发者快速构建可靠的AI数据库工具。

无论您是在开发AI代理、构建数据驱动的应用程序,还是需要在多个框架间共享数据库工具,MCP数据库工具箱都是一个值得考虑的解决方案。其灵活的架构设计和丰富的SDK支持,使其能够很好地适应各种开发场景和需求。