dbhub

DBHub:通用数据库 MCP 服务器,连接 AI 模型与各类数据库。

dbhub
dbhub能力展示

dbhub 解决方案概述

DBHub 是一个通用的数据库网关,实现了模型上下文协议(MCP)服务器接口。它作为 MCP 服务器,使得 Claude Desktop 和 Cursor 等客户端能够与 PostgreSQL、SQL Server、SQLite 和 MySQL 等多种数据库进行交互。

DBHub 的核心功能在于其广泛的数据库支持和与 MCP 客户端的无缝集成。开发者可以通过 DBHub 轻松地将 AI 模型连接到各种数据源,利用 AI 的能力来查询、分析和理解数据库中的信息。它支持 stdiosse 等多种传输机制,方便集成到不同的应用场景中。

使用 DBHub,开发者可以避免直接处理复杂的数据库连接和查询逻辑,从而专注于 AI 模型的开发和应用。通过简单的配置,即可让 AI 模型具备强大的数据访问能力,极大地提升开发效率和应用价值。DBHub 包含演示模式,内置示例数据库,方便快速上手和测试。

dbhub 核心能力

统一数据库连接

DBHub作为一个MCP服务器,其核心功能在于提供一个统一的接口,使得AI模型能够与多种不同的数据库进行交互,包括PostgreSQL、MySQL、SQL Server和SQLite等。这种统一性极大地简化了AI模型与数据源的集成过程,开发者无需为每种数据库编写特定的连接和查询代码。DBHub通过数据库连接字符串(DSN)来配置数据库连接,支持命令行参数、环境变量和环境文件等多种配置方式,方便灵活地适应不同的部署环境。

例如,一个AI助手需要从PostgreSQL和MySQL数据库中提取客户信息进行分析。使用DBHub,开发者只需配置两个指向相应数据库的DSN,AI助手便可以通过DBHub提供的统一MCP接口访问和查询数据,无需关心底层数据库的差异。

标准化数据访问

DBHub通过MCP协议,为AI模型提供标准化的数据访问方式。它定义了一系列资源URI,用于描述数据库的各种元素,如schemas、tables和procedures。AI模型可以通过这些URI获取数据库的元数据信息,例如表结构、索引和存储过程定义。此外,DBHub还支持执行SQL查询,并以标准化的格式返回结果。这种标准化使得AI模型能够以一致的方式理解和处理来自不同数据库的数据,降低了数据处理的复杂性。

例如,AI模型可以使用db://schemas/{schemaName}/tables/{tableName} URI获取指定schema下某个表的结构信息,然后根据这些信息生成SQL查询语句,并通过run_query工具执行查询。返回的结果将以标准化的JSON格式呈现,方便AI模型解析和使用。

内置Demo模式

DBHub提供了一个内置的Demo模式,其中包含一个预配置的SQLite数据库,模拟了一个包含员工、部门和薪资信息的企业数据库。这个Demo模式对于开发者来说非常有用,可以在没有实际数据库的情况下快速测试和验证DBHub的功能。通过Demo模式,开发者可以了解如何使用DBHub连接数据库、查询数据以及与AI模型集成。

例如,开发者可以使用以下命令启动DBHub的Demo模式:npx @bytebase/dbhub --demo。然后,他们可以使用MCP客户端(如Cursor或MCP Inspector)连接到DBHub,并探索预置的数据库结构和数据。这有助于开发者快速上手,并了解DBHub在实际应用中的工作方式。

多种传输协议支持

DBHub支持多种传输协议,包括stdiossestdio适用于与本地工具(如Claude Desktop)集成,而sse则适用于浏览器和网络客户端。这种灵活性使得DBHub能够适应不同的部署环境和应用场景。开发者可以根据自己的需求选择合适的传输协议,以实现最佳的性能和兼容性。

例如,如果开发者希望将DBHub与Claude Desktop集成,可以使用stdio传输协议,并通过配置claude_desktop_config.json文件来指定DBHub的启动命令和参数。另一方面,如果开发者希望通过浏览器访问DBHub,可以使用sse传输协议,并通过HTTP连接与DBHub进行通信。

集成优势

DBHub通过Docker和NPM提供便捷的安装和部署方式,简化了集成过程。Docker容器化部署确保了环境一致性,避免了因环境差异导致的问题。NPM则方便了JavaScript开发者在项目中使用DBHub。此外,DBHub还提供了详细的文档和示例,帮助开发者快速上手并解决集成过程中遇到的问题。

例如,开发者可以使用以下Docker命令快速启动一个连接到PostgreSQL数据库的DBHub实例:docker run --rm --init --name dbhub --publish 8080:8080 bytebase/dbhub --transport sse --port 8080 --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"。这使得开发者能够快速搭建一个可用的MCP服务器,并开始与AI模型集成。