Genai Toolbox

Genai Toolbox

Genai Toolbox 是一个开源数据库MCP服务器工具箱,专为企业级和生产环境设计,提供连接池管理、身份验证、工具集管理等功能,简化数据库访问和工具开发流程。

144 浏览
2025-12-09 发布

详细介绍

Genai Toolbox 是一个开源数据库MCP服务器工具箱,专为企业级和生产环境设计。它通过内置的连接池管理、身份验证机制和工具集管理功能,简化了数据库访问和工具开发流程,使开发者能够更高效、安全地构建数据库操作工具。

核心功能

Genai Toolbox 提供了多项核心功能,帮助开发者快速构建和管理数据库工具:

  • 简化开发流程:通过内置工具集管理和自动连接池优化,减少重复编码工作。
  • 高性能执行:利用最佳实践(如连接池管理)提升数据库操作效率。
  • 增强安全性:集成身份验证机制,确保数据访问的安全性。
  • 全面监控支持:支持 OpenTelemetry,便于跟踪和分析工具性能。

此外,Genai Toolbox 还支持多种数据库类型,如 PostgreSQL 和 MySQL,并允许用户自定义 SQL 查询和其他类型的工具操作。

安装方法

Genai Toolbox 提供了多种安装方式,包括使用 Go 安装、Docker 镜像部署等。

go install github.com/googleapis/genai-toolbox@latest
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:v0.4.0

安装完成后,可以通过配置 `tools.yaml` 文件来定义工具和数据源。

使用方法

Genai Toolbox 的使用流程包括配置数据源、定义工具、加载工具集以及集成到应用程序中。

首先,配置数据源,例如 PostgreSQL 数据源:

sources:
  my-pg-source:
    kind: postgres
    host: 127.0.0.1
    port: 5432
    database: toolbox_db
    user: toolbox_user
    password: my-password

然后,定义工具,例如搜索酒店的 SQL 工具:

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 || '%';

接着,定义工具集,将多个工具组合在一起:

toolsets:
  my_first_toolset:
    - my_first_tool
    - my_second_tool
  my_second_toolset:
    - my_second_tool
    - my_third_tool

最后,启动服务并集成到应用程序中:

./toolbox --tools_file 'tools.yaml'
from toolbox_core import ToolboxClient
client = ToolboxClient('http://127.0.0.1:5000')

使用场景

Genai Toolbox 适用于需要频繁访问数据库的应用程序,特别是在涉及生成式AI工具的场景中。例如,可以用于:

  • 酒店预订系统中的酒店搜索功能
  • 用户管理系统中的用户信息查询和更新
  • 数据分析平台中的数据提取和处理

注意事项

在使用 Genai Toolbox 时,需要注意以下几点:

  • 当前版本仍处于 Beta 阶段,可能存在兼容性问题。
  • 某些高级功能可能需要额外配置。
  • 建议在生产环境中使用前进行充分测试。

此外,如果需要更新已有的工具定义,可以直接修改 `tools.yaml` 文件并重启服务。

使用示例

以下是一个完整的使用示例,展示如何通过 Genai Toolbox 搜索酒店:

client.load_toolset('my_second_toolset')
client.invoke_tool('search-hotels-by-name', {'name': 'Grand Hotel'})

该示例将加载指定的工具集,并调用 `search-hotels-by-name` 工具,传入酒店名称参数,返回匹配的酒店列表。

另一个示例展示如何加载特定工具集以满足特定需求:

client.load_toolset('my_second_toolset')

该命令将成功加载指定的工具集,以便后续调用其中的工具。

Genai Toolbox 提供了丰富的命令行工具,例如:

toolbox --help
toolbox --version

这些命令可以帮助用户查看可用命令和当前版本信息。

Genai Toolbox 是一个功能强大且灵活的工具箱,适用于各种数据库操作场景,能够显著提升开发效率和系统性能。

数据库管理 工具集 连接池 身份验证

相关服务推荐

查看更多