MCP 数据库工具箱
[!NOTE] MCP Toolbox for Databases 目前处于测试阶段,在第一个稳定版本(v1.0)发布之前可能会发生重大变化。
MCP Toolbox for Databases 是一款开源的 MCP 数据库服务器。它能够处理诸如连接池、身份验证等复杂问题,让您能够更轻松、更快速、更安全地开发工具。
本 README 提供简要概述。如需更详细的信息,请参阅完整文档。
[!NOTE] 该解决方案最初被命名为“数据库的 Gen AI 工具箱”,因为其初始开发早于 MCP,但后来被重新命名以符合最近添加的 MCP 兼容性。
目录
为什么选择工具箱?
Toolbox 可帮助您构建 Gen AI 工具,让您的代理能够访问数据库中的数据。Toolbox 提供以下功能:
- 简化开发:用不到 10 行代码将工具集成到您的代理中,在多个代理或框架之间重用工具,并更轻松地部署新版本的工具。
- 更好的性能:最佳实践,如连接池、身份验证等。
- 增强的安全性:集成身份验证,可更安全地访问您的数据
- 端到端可观察性:开箱即用的指标和跟踪,内置对 OpenTelemetry 的支持。
总体架构
Toolbox 位于应用程序的编排框架和数据库之间,提供用于修改、分发或调用工具的控制平面。它通过为您提供一个集中存储和更新工具的位置,简化了工具的管理,使您可以在代理和应用程序之间共享工具,并更新这些工具,而无需重新部署应用程序。
入门
安装服务器
要获取最新版本,请查看发布页面并按照以下适合您的操作系统和 CPU 架构的说明进行操作。
要将 Toolbox 安装为二进制文件:
要从源代码安装,请确保安装了最新版本的 Go ,然后运行以下命令:
运行服务器
配置一个tools.yaml
来定义你的工具,然后执行toolbox
来启动服务器:
您可以使用toolbox help
查看完整的标志列表!要停止服务器,请发送终止信号(大多数平台上ctrl+c
)。
有关部署到不同环境的更多详细文档,请查看“操作方法”部分中的资源
集成您的应用程序
服务器启动并运行后,您就可以将这些工具加载到应用程序中。请参阅以下用于使用各种框架的客户端 SDK 列表:
- 安装Toolbox Core SDK :
- 加载工具:
有关使用 Toolbox Core SDK 的更多详细说明,请参阅项目的 README 。
- 安装Toolbox LangChain SDK :
- 加载工具:
有关使用 Toolbox LangChain SDK 的更多详细说明,请参阅项目的 README 。
- 安装工具箱 Llamaindex SDK :
- 加载工具:
有关使用 Toolbox Llamaindex SDK 的更多详细说明,请参阅项目的 README 。
配置
配置 Toolbox 的主要方式是通过tools.yaml
文件。如果您有多个文件,可以使用--tools-file tools.yaml
参数告诉 Toolbox 加载哪个文件。
您可以在资源中找到所有资源类型的更详细的参考文档。
来源
tools.yaml
中的sources
部分定义了你的工具箱可以访问哪些数据源。大多数工具至少会有一个数据源可供执行。
有关配置不同类型源的更多详细信息,请参阅源。
工具
tools.yaml
的tools
部分定义了代理可以采取的操作:它是什么类型的工具,它影响哪些源,它使用哪些参数等。
有关配置不同类型工具的更多详细信息,请参阅工具。
工具集
tools.yaml
中的toolsets
部分允许您定义需要同时加载的工具组。这对于根据代理或应用程序定义不同的工具组非常有用。
您可以按名称加载工具集:
版本控制
该项目使用语义版本控制,包括MAJOR.MINOR.PATCH
版本号,其递增如下:
- 当我们进行不兼容的 API 更改时,主要版本
- 当我们以向后兼容的方式添加功能时,次版本
- 当我们进行向后兼容的错误修复时,PATCH 版本
适用的公共 API 是与 Toolbox 关联的 CLI、与官方 SDK 的交互以及tools.yaml
文件中的定义。
贡献
欢迎贡献。请参阅贡献部分开始。
请注意,本项目已发布贡献者行为准则。参与本项目即表示您同意遵守其条款。更多信息,请参阅贡献者行为准则。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.Last updated -1441JavaScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that provides access to project files and their contents, allowing users to retrieve file data from specified project directories with error handling and configuration options.Last updated -14TypeScriptMIT License
- AsecurityAlicenseAqualityMCP server that allows interaction with PocketBase databases, enabling record operations (fetch, list, create, update), file management, and schema migrations through natural language.Last updated -208TypeScriptMIT License
- -security-license-qualityAn MCP server that allows working with MySQL databases by providing tools for executing read-only SQL queries, getting table schemas, and listing database tables.Last updated -1JavaScript