项目介绍
DBHub 是 Bytebase 开源的数据库 MCP 服务器,让支持 MCP 的 Agent 检索数据库对象并执行 SQL。它支持 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle 和 SQLite;可用 stdio 接入本地客户端,也能用 HTTP 提供 MCP 端点与 Workbench。先用内置员工示例库试用,再为真实数据库配置最小权限账号和工具限制。
核心功能
查询数据库结构与对象
search_objects 可按表、视图、列等类型搜索对象,并控制返回的详细程度。
执行 SQL
execute_sql 可运行查询;未启用只读设置时也可能执行写入语句。
连接多种数据库
文档列出 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle 和 SQLite,并支持 TOML 多数据源配置。
配置访问与结果边界
TOML 可为工具设置 readonly、max_rows,HTTP 可选 bearer token;这些设置需要部署者显式配置。

安装与连接
先用 Node.js 22.5+ 和内置 SQLite 演示库启动 DBHub,再按官方文档接入 Codex。真实数据库应改用最小权限账号,并通过 TOML 配置只读与行数限制。
让 AI Agent 帮你安装
把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。
请帮我试用 DBHub 数据库 MCP 服务器,项目地址 https://github.com/bytebase/dbhub。先阅读 README.md、docs/installation.mdx、docs/config/command-line.mdx、docs/config/toml.mdx 和 docs/tools/execute-sql.mdx,确认 Node.js 至少为 22.5。先只连接内置演示库,按仓库文档启动本地 HTTP 或用 Codex 的演示模式 MCP 命令接入,验证服务启动、/healthz 及 search_objects。报告实际安装版本、执行的命令、修改的配置和验证结果。若改连真实数据库,先向我确认凭据来源、数据库账号权限、是否允许写入、网络暴露范围及配置文件位置;遇到额外权限或覆盖现有文件也先确认。不要把密码写入命令行或提交到仓库。- Node.js 22.5 或更高版本及 npm/npx;也可使用官方 Docker 镜像
- 本地可用端口 8080;演示模式不需要数据库凭据
- 连接真实数据库时需单独准备最小权限账号和网络访问
npx @bytebase/dbhub@1.3.0 --transport http --host 127.0.0.1 --port 8080 --demo- 1启动本地演示服务
确认 Node.js 22.5+,运行 `npx @bytebase/dbhub@1.3.0 --transport http --host 127.0.0.1 --port 8080 --demo`。演示库是内存中的 SQLite 员工数据,不需要真实数据库凭据。
- 2检查 Workbench 与健康状态
打开 http://127.0.0.1:8080/ 查看 Workbench,并访问 http://127.0.0.1:8080/healthz,确认返回 OK。MCP HTTP 端点位于 /mcp。
- 3让 Codex 连接演示库
若要在 Codex 中试用,按安装文档运行 `codex mcp add dbhub -- npx @bytebase/dbhub@1.3.0 --transport stdio --demo`,再让客户端用 search_objects 找表。该命令会创建 Codex MCP 配置。
- 4接入真实数据库前收紧权限
为数据库创建最小权限账号;在 dbhub.toml 的 [[sources]] 配置连接,在对应 [[tools]] 设置 name="execute_sql"、source、readonly=true 和 max_rows,再用 --config 加载。不要把密码直接写入公开文件。
运行演示命令后看到 v1.3.0 [DEMO] 和 HTTP server listening,再打开 http://127.0.0.1:8080/ 或请求 /healthz;接入 Codex 后通过 search_objects 查找演示表。本站实际验证了 v1.3.0 在 Node.js 24.14.0 上启动及 /healthz 返回 OK,未测试真实数据库连接。
- 演示命令中的 --host 127.0.0.1 将 HTTP 仅绑定本机;官方 HTTP 默认地址为 0.0.0.0。
- 真实数据库的 execute_sql 默认可写;readonly=true 与 max_rows 需要在 TOML 的 [[tools]] 中设置,且仍需数据库账号权限约束。
- 本页验证版本为 v1.3.0;生产环境应锁定经过自身验证的版本。
使用场景
让 Agent 理解数据库结构
通过 search_objects 检索表、视图和列,减少把完整 schema 复制到对话中的需要。
在测试库上辅助 SQL 探索
在授权的测试数据库执行 SQL,并结合结果限制与查询超时控制返回规模。
统一接入多个数据库
用 TOML 为不同数据源配置连接与工具设置,供同一个 MCP 服务使用。
使用评价
从 README、安装与配置文档看,DBHub 的优势是直接提供数据库对象检索和 SQL 工具,且有演示库可先验证客户端连接。本站只在演示 SQLite 模式验证 v1.3.0 启动及 HTTP 健康检查,未连接真实数据库。生产采用前应重点审查默认可写的 SQL、HTTP 监听与认证设置,并使用最小权限数据库账号。
值得一试的地方
- 覆盖六类常见数据库,并有 stdio、HTTP 两种接入路径。
- 内置演示库和 Workbench 便于先检查工作流。
- TOML 支持多数据源、只读设置、行数限制和自定义工具。
使用前要知道
- execute_sql 默认可写,readonly 与行数限制需要主动配置。
- HTTP 默认监听所有接口且认证默认关闭。
- 不内置企业审批、数据脱敏、访问控制或审计日志;真实数据库与客户端交互未经本站功能验证。
README
DBHub
Overview
Bytebase 开源的数据库 MCP 服务器,支持六种数据库,可通过 stdio 或 HTTP 提供对象检索与 SQL 执行工具。 Token conscious database MCP server for Postgres, MySQL, SQL Server, Oracle, MariaDB, SQLite.
Getting started
- 先用 Node.js 22.5+ 和内置 SQLite 演示库启动 DBHub,再按官方文档接入 Codex。真实数据库应改用最小权限账号,并通过 TOML 配置只读与行数限制。
- 默认提供 execute_sql 和 search_objects 两个工具;可选 explain_sql、health_check 以及 TOML 自定义参数化 SQL 工具。
- 支持 stdio 与 Streamable HTTP;HTTP 模式提供 Workbench 页面和 /mcp 端点。
- 运行演示命令后看到 v1.3.0 [DEMO] 和 HTTP server listening,再打开 http://127.0.0.1:8080/ 或请求 /healthz;接入 Codex 后通过 search_objects 查找演示表。本站实际验证了 v1.3.0 在 Node.js 24.14.0 上启动及 /healthz 返回 OK,未测试真实数据库连接。
Configuration
npx @bytebase/dbhub@1.3.0 --transport http --host 127.0.0.1 --port 8080 --demo在 GitHub 阅读完整 README →