综合 DBX:25MB 的 Rust + Tauri 数据库客户端,还把 MCP Server 给了 AI agent

2026-09-23 21:31:16

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_writehigh_risk_write 两档,后者对应 Full access,白名单和模式值得在接入前就定清楚。
  • 需要极重度 PL/SQL 调试、存储过程 IDE 级别支持的场景,这类客户端通常不是首选。
复制全文 生成海报 数据库客户端 Rust Tauri MCP Docker AI

推荐文章

程序员茄子在线接单