Skip to main content
Glama

MCP Toolbox for Databases

by googleapis

标识

MCP 数据库工具箱

不和谐 围棋成绩单

NOTE

MCP Toolbox for Databases 目前处于测试阶段,在第一个稳定版本(v1.0)发布之前可能会发生重大变化。

MCP Toolbox for Databases 是一款开源的 MCP 数据库服务器。它能够处理诸如连接池、身份验证等复杂问题,让您能够更轻松、更快速、更安全地开发工具。

本 README 提供简要概述。如需更详细的信息,请参阅完整文档

NOTE

该解决方案最初被命名为“数据库的 Gen AI 工具箱”,因为其初始开发早于 MCP,但后来被重新命名以符合最近添加的 MCP 兼容性。

目录

Related MCP server: MySQL MCP Server

为什么选择工具箱?

Toolbox 可帮助您构建 Gen AI 工具,让您的代理能够访问数据库中的数据。Toolbox 提供以下功能:

  • 简化开发:用不到 10 行代码将工具集成到您的代理中,在多个代理或框架之间重用工具,并更轻松地部署新版本的工具。

  • 更好的性能:最佳实践,如连接池、身份验证等。

  • 增强的安全性:集成身份验证,可更安全地访问您的数据

  • 端到端可观察性:开箱即用的指标和跟踪,内置对 OpenTelemetry 的支持。

总体架构

Toolbox 位于应用程序的编排框架和数据库之间,提供用于修改、分发或调用工具的控制平面。它通过为您提供一个集中存储和更新工具的位置,简化了工具的管理,使您可以在代理和应用程序之间共享工具,并更新这些工具,而无需重新部署应用程序。

建筑学

入门

安装服务器

要获取最新版本,请查看发布页面并按照以下适合您的操作系统和 CPU 架构的说明进行操作。

要将 Toolbox 安装为二进制文件:

# see releases page for other versions export VERSION=0.5.0 curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox chmod +x toolbox
# see releases page for other versions export VERSION=0.5.0 docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

要从源代码安装,请确保安装了最新版本的 Go ,然后运行以下命令:

go install github.com/googleapis/genai-toolbox@v0.5.0

运行服务器

配置一个tools.yaml来定义你的工具,然后执行toolbox来启动服务器:

./toolbox --tools-file "tools.yaml"

您可以使用toolbox help查看完整的标志列表!要停止服务器,请发送终止信号(大多数平台上ctrl+c )。

有关部署到不同环境的更多详细文档,请查看“操作方法”部分中的资源

集成您的应用程序

服务器启动并运行后,您就可以将这些工具加载到应用程序中。请参阅以下用于使用各种框架的客户端 SDK 列表:

  1. 安装Toolbox Core SDK

    pip install toolbox-core
  2. 加载工具:

    from toolbox_core import ToolboxClient # update the url to point to your server async with ToolboxClient("http://127.0.0.1:5000") as client: # these tools can be passed to your application! tools = await client.load_toolset("toolset_name")

有关使用 Toolbox Core SDK 的更多详细说明,请参阅项目的 README

  1. 安装Toolbox LangChain SDK

    pip install toolbox-langchain
  2. 加载工具:

    from toolbox_langchain import ToolboxClient # update the url to point to your server async with ToolboxClient("http://127.0.0.1:5000") as client: # these tools can be passed to your application! tools = client.load_toolset()

有关使用 Toolbox LangChain SDK 的更多详细说明,请参阅项目的 README

  1. 安装工具箱 Llamaindex SDK

    pip install toolbox-llamaindex
  2. 加载工具:

    from toolbox_llamaindex import ToolboxClient # update the url to point to your server async with ToolboxClient("http://127.0.0.1:5000") as client: # these tools can be passed to your application! tools = client.load_toolset()

有关使用 Toolbox Llamaindex SDK 的更多详细说明,请参阅项目的 README

配置

配置 Toolbox 的主要方式是通过tools.yaml文件。如果您有多个文件,可以使用--tools-file tools.yaml参数告诉 Toolbox 加载哪个文件。

您可以在资源中找到所有资源类型的更详细的参考文档。

来源

tools.yaml中的sources部分定义了你的工具箱可以访问哪些数据源。大多数工具至少会有一个数据源可供执行。

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

有关配置不同类型源的更多详细信息,请参阅

工具

tools.yamltools部分定义了代理可以采取的操作:它是什么类型的工具,它影响哪些源,它使用哪些参数等。

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

有关配置不同类型工具的更多详细信息,请参阅工具

工具集

tools.yaml中的toolsets部分允许您定义需要同时加载的工具组。这对于根据代理或应用程序定义不同的工具组非常有用。

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

您可以按名称加载工具集:

# This will load all tools all_tools = client.load_toolset() # This will only load the tools listed in 'my_second_toolset' my_second_toolset = client.load_toolset("my_second_toolset")

版本控制

该项目使用语义版本控制,包括MAJOR.MINOR.PATCH版本号,其递增如下:

  • 当我们进行不兼容的 API 更改时,主要版本

  • 当我们以向后兼容的方式添加功能时,次版本

  • 当我们进行向后兼容的错误修复时,PATCH 版本

适用的公共 API 是与 Toolbox 关联的 CLI、与官方 SDK 的交互以及tools.yaml文件中的定义。

贡献

欢迎贡献。请参阅贡献部分开始。

请注意,本项目已发布贡献者行为准则。参与本项目即表示您同意遵守其条款。更多信息,请参阅贡献者行为准则

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/googleapis/genai-toolbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server