remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Enables integration with LangChain framework, allowing agents to leverage database tools and execute queries through the MCP Toolbox server.
Provides compatibility with LangGraph for building agent workflows that can access and manipulate database data using the tools defined in the MCP server.
Offers built-in support for OpenTelemetry, enabling end-to-end observability with metrics and tracing for database operations performed through the MCP server.
MCP 数据库工具箱
[!NOTE] MCP Toolbox for Databases 目前处于测试阶段,在第一个稳定版本(v1.0)发布之前可能会发生重大变化。
MCP 数据库工具箱是一款开源的 MCP 数据库服务器,其设计以企业级和生产质量为核心。它能够处理诸如连接池、身份验证等复杂问题,让您能够更轻松、更快速、更安全地开发工具。
本 README 提供简要概述。如需更详细的信息,请参阅完整文档。
[!NOTE] 该产品最初被命名为“Gen AI Toolbox for Databases”,因为其初始开发早于 MCP,但后来被重新命名以符合最近添加的 MCP 兼容性。
目录
为什么选择工具箱?
Toolbox 可帮助您构建 Gen AI 工具,让您的代理能够访问数据库中的数据。Toolbox 提供以下功能:
- 简化开发:用不到 10 行代码将工具集成到您的代理中,在多个代理或框架之间重用工具,并更轻松地部署新版本的工具。
- 更好的性能:最佳实践,如连接池、身份验证等。
- 增强的安全性:集成身份验证,可更安全地访问您的数据
- 端到端可观察性:开箱即用的指标和跟踪,内置对 OpenTelemetry 的支持。
总体架构
Toolbox 位于应用程序的编排框架和数据库之间,提供用于修改、分发或调用工具的控制平面。它通过为您提供一个集中存储和更新工具的位置,简化了工具的管理,使您可以在代理和应用程序之间共享工具,并更新这些工具,而无需重新部署应用程序。
入门
安装服务器
要获取最新版本,请查看发布页面并按照以下适合您的操作系统和 CPU 架构的说明进行操作。
要将 Toolbox 安装为二进制文件:
要从源代码安装,请确保安装了最新版本的 Go ,然后运行以下命令:
运行服务器
配置一个tools.yaml
来定义你的工具,然后执行toolbox
来启动服务器:
您可以使用toolbox help
查看完整的标志列表!要停止服务器,请发送终止信号(大多数平台上ctrl+c
)。
有关部署到不同环境的更多详细文档,请查看“操作方法”部分中的资源
集成您的应用程序
服务器启动并运行后,您就可以将这些工具加载到应用程序中。请参阅以下用于使用各种框架的客户端 SDK 列表:
- 安装工具箱核心 SDK :Copy
- 加载工具:Copy
有关使用 Toolbox Core SDK 的更多详细说明,请参阅项目的 README 。
- 安装Toolbox LangChain SDK :Copy
- 加载工具:Copy
有关使用 Toolbox LangChain SDK 的更多详细说明,请参阅项目的 README 。
- 安装工具箱 Llamaindex SDK :Copy
- 加载工具:Copy
有关使用 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
文件中的定义。
贡献
欢迎贡献。请参阅贡献部分开始。
请注意,本项目已发布贡献者行为准则。参与本项目即表示您同意遵守其条款。更多信息,请参阅贡献者行为准则。