DBX:25MB 的 Rust + Tauri 数据库客户端,还把 MCP Server 给了 AI agent
- 仓库:https://github.com/t8y2/dbx
- 官网:https://dbxio.com
- 协议:Apache-2.0
- 技术栈:Rust + Tauri
- 约 20.5k stars,持续更新中
定位与取舍
DBX 是一个跨平台数据库客户端,装完之后是 25 MB 单文件级别的体积,宣称支持 90+ 数据库,形态覆盖桌面端、Docker、CLI,另外内置 AI 助手和 MCP Server。
它最明确的取舍是不捆绑运行时:不带 JRE、不带 Python venv、不带 Chromium。作为对照,DBeaver 需要系统里有 Java,TablePlus 走的是 Freemium 模式。这也解释了它为什么敢把包体压到这个量级——前端用 Tauri 走系统 WebView,数据库驱动以 Rust 原生实现为主。
支持的数据库
原生驱动覆盖的一大票:
MySQL、PostgreSQL、SQLite、Cloudflare D1、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、MariaDB、TiDB、OceanBase、openGauss、GaussDB、KingbaseES、GoldenDB、Doris、SelectDB、StarRocks、Redshift、达梦 DM、TDengine、CockroachDB、Dolt 等。
剩下那些通过 agent-based profile 扩展:H2、Snowflake、Trino、PrestoSQL、Hive、DB2、Neo4j、Cassandra、BigQuery、Cloud Spanner、JDBCX,以及自定义 JDBC。另外还有消息队列管理,支持 Pulsar、Kafka、RocketMQ。
MCP Server:让 AI 编码 agent 直接查库
MCP server 独立于桌面端分发,不随桌面端一起安装,直接用 npx 起:
npx @dbx-app/mcp-server
.mcp.json 配置:
{ "mcpServers": { "dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] } } }
连接白名单和权限模式在 DBX 的「设置 → MCP」里管理,共三种模式:Read only / Data read/write / Full access,对应的机器可读值是 read_only / safe_write / high_risk_write。
AI SQL 助手
用自然语言描述需求生成 SQL,也能解释、优化、修复已有 SQL。AI 生成的 SQL 在执行前会走内置安全检查。
模型侧支持 Claude、OpenAI、本地模型(Ollama),或任意 OpenAI 兼容端点。
查询编辑器
基于 CodeMirror 6。SQL 语法高亮、元数据感知的自动补全、Cmd+Enter 执行、选中执行、SQL 格式化、诊断、9 种主题、持久化查询历史、SQL 片段收藏、tab 恢复、直接执行 .sql 文件。迁移路径上支持从 DBeaver / Navicat 导入连接配置。
数据网格
虚拟滚动撑大结果集,行内编辑,保存前预览将要执行的 SQL,WHERE / ORDER BY 控件,DataGrip 风格过滤,LIKE / NOT LIKE 上下文过滤,排序、全文搜索、分页、列宽调整。导出和复制支持 CSV、JSON、Markdown、XLSX,以及 INSERT 语句。
Schema 工具
schema 浏览器覆盖库 / 模式 / 表 / 列 / 索引 / 外键 / 触发器,侧栏可搜索和固定。此外还有对象浏览器、表结构编辑器、ER 图、schema diff(跨连接比较结构)、可视化执行计划(Explain plan)、字段级血缘分析,以及跨大 schema 的对象搜索。
数据操作
表导入 CSV / Excel,数据库之间的数据迁移,整库导出 dump,数据比较,执行 .sql 文件。拖拽 Parquet / CSV / JSON 到界面能直接预览,这部分由 DuckDB 驱动。连接配置可导入导出。
专项浏览器
- Redis:key 模式搜索、批量 key 操作、命令执行、TTL 编辑,覆盖全部数据类型(String / Hash / List / Set / ZSet / Stream)。
- MongoDB:文档 CRUD、分页,支持 Atlas 与副本集连接。
安全与连接
SSH 隧道支持 key 与密码两种方式,数据库和 AI 代理分别有独立设置。断连自动重连,破坏性操作有确认弹窗,配置导出导入加密,连接可加颜色标记。驱动走驱动商店,另有可选 JDBC 插件。
界面
深色模式与原生标题栏同步,9 种编辑器主题,界面语言有英文、简体中文、西班牙语,布局偏好可调,内置自动更新。
部署形态
macOS / Windows / Linux 原生应用;Docker 自托管供团队访问;Web 版本给只有浏览器环境的场景。三种形态功能集与连接配置保持一致。
该不该用
适合的情况:
- 机器上不想再装 JRE 或其他运行时,又需要连多种异构数据库。
- 用 Claude Code、Cursor 这类编码 agent,想让 agent 直接读 schema 和查数据,MCP 那套配置直接可用。
- 需要定期在数据库之间搬迁数据、比对结构、导出 dump 的日常运维动作。
- 团队需要一个能自托管的统一入口,Docker 部署 + 连接导入导出可以省掉逐人配置。
需要先确认的情况:
- 依赖 JDBC 才能连的库:H2、Snowflake、Trino、DB2、Neo4j、Cassandra、BigQuery、Cloud Spanner 这些走的是 agent-based profile,且 JDBC 是可选插件,属于扩展路径而非开箱即用,用之前最好先验证目标库能否连通。
- 团队已有的连接规范、权限体系绑定在 DBeaver / Navicat 上:虽然有连接导入,但配置一旦双向同步会分叉,需要决定以哪边为准。
- 把 MCP 用在生产库:
read_only之外还有safe_write和high_risk_write两档,后者对应 Full access,白名单和模式值得在接入前就定清楚。 - 需要极重度 PL/SQL 调试、存储过程 IDE 级别支持的场景,这类客户端通常不是首选。