t8y2/dbx: a Rust and Tauri database client that also ships as a CLI and an MCP server
dbx is a small cross-platform database client for MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, and SQL Server.
At a glance
- What is it?
- dbx is an Apache-2.0 cross-platform database client covering MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse and SQL Server, built as a Cargo workspace behind a Tauri desktop app. Its breadth comes with three independently versioned release trains and a set of patched vendored crates kept for old Windows targets.
- Who is it for?
- dbx fits developers who want one Apache-2.0 client for MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse and SQL Server, and who also want the same engine reachable from a CLI or an MCP server for AI tools. It is a weaker choice for teams that need a stable, slow moving tool, since the app is still at 0.6.x and ships alongside separately versioned packages and agents.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- t8y2/dbx30,307 ★ · +18,121
| Repository | 2026-07-28 | 2026-11-13 |
|---|---|---|
| t8y2/dbx | 12.2k | 30.3k |
18,121 Stars in the last 108 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
A Tauri desktop shell over a Rust driver workspace
dbx is written in Rust, with the desktop app living in src-tauri/ and a front end built with Vite from apps/desktop/. The Rust side is a Cargo workspace split into small crates: dbx-core, dbx-types and dbx-platform for shared plumbing, a family of SQL crates (dbx-sql-core, dbx-sql-dialect, dbx-sql-schema, dbx-sql-data), dbx-formats for import and export formats, a dbx-plugin-runtime, and dbx-ai-provider behind the built-in AI assistant. The project headline sums the pitch as 100+ databases in 25 MB across desktop, Docker, CLI, an AI assistant and an MCP server. The README is published in English, Simplified Chinese and Polish, and the project runs community channels on Discord, QQ and Feishu.
Six engines have their own driver crates, the rest need checking
The description names eight engines: MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse and SQL Server. In the Cargo workspace, dedicated driver crates exist for Elasticsearch, MongoDB, MySQL, PostgreSQL, Redis and SQL Server. SQLite runs through a separate dbx-sqlite-worker crate, and the Makefile's make dev-fast target starts a DuckDB sidecar. There are also dbx-drivers, dbx-driver-support and dbx-driver-agent crates, and an examples/etcd/ folder.
The consequence for anyone choosing a client: the 100+ figure is a headline, and the crate list alone does not tell you how a given engine outside these is reached or how deep its support goes. If your stack depends on a less common database, install the current release and connect to it before you migrate your team, and check dbxio.com for that engine by name.
One core, shipped as desktop, CLI, MCP server and web backend
The same Rust workspace builds more than the desktop app. crates/dbx-cli backs a command line tool, crates/dbx-mcp backs a Model Context Protocol server, and crates/dbx-web backs a web API, with matching examples in examples/cli/, examples/mcp/, examples/web-api/ and examples/docker/. On the npm side, the pnpm workspace publishes three packages: @dbx-app/cli, @dbx-app/mcp-server and @dbx-app/plugin-cli. A dry run of the publish pipeline builds all three, packs them and verifies they install:
pnpm build:packagesFor developers this means an AI coding tool can query your databases through the MCP server without opening the GUI, and scripts can use the CLI. It also means your database credentials can be reachable from more than one surface, so decide which of them you actually expose.
Three release trains with three version numbers
Releases are cut separately for the app, the npm packages and the agents, through node scripts/release.mjs with the app, packages and agents arguments. On 2026-11-03 alone the repository tagged DBX v0.6.65, DBX Packages 0.4.138 and agents-v0.2.158, and the last push to main was on 2026-11-02. The project is clearly moving fast.
That pace has a cost for users. The desktop app is still pre 1.0 at 0.6.65, and the CLI and MCP server packages carry their own 0.4.x numbers that do not line up with the app. If you run the desktop client and the MCP server side by side, you cannot tell compatibility from version numbers alone. Pin both, upgrade them together, and retest your connections after each bump rather than auto updating on a daily cadence.
Windows 7 support rests on patched vendored crates
Cargo.toml redirects several crates to local copies under vendor/. The reasons are written into the file. The offline Windows 7 and Server 2012 R2 bundle links the WebView2 SDK 1.0.902.49 loader, because loaders from 1.0.1054.31 onward import EventSetInformation, which those systems do not provide; the maintainers keep that loader in the source tree after a registry file swap once shipped a binary linked against the wrong loader. tauri-plugin-updater is vendored for offline signed update restoration and checked Windows installer launch. ctor is vendored because Tauri 2.11 uses ctor 0.8, which excludes Rust's win7 vendor. rumqttc 0.24 is patched to add MQTT 3.1 CONNECT encoding.
Anyone building from source compiles against these patched copies, not crates.io releases, and inherits whatever lag they carry behind upstream.
The Makefile starts the databases you develop against
Contributors get a Makefile that wraps pnpm and Tauri. make or make dev starts the desktop development environment, make dev-web and make dev-backend run the web front end and backend separately, make build runs type checks and builds the desktop front end, and make package builds the desktop app package. The Tauri dev port defaults to 1420, and dependencies install with a frozen pnpm lockfile.
make dev-fastThe db family of targets (db, db-list, db-verify, db-down, db-reset, db-check) reads DB, DB_VERSION, DB_PORT, DB_BIND_ADDRESS and DB_PASSWORD, so you can bring up a specific engine and version locally to reproduce a bug. Nix users have a flake.nix and a README-NIX.md as an alternative route to a working toolchain.
Editorial conclusion
dbx fits developers who want one Apache-2.0 client for MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse and SQL Server, and who also want the same engine reachable from a CLI or an MCP server for AI tools. It is a weaker choice for teams that need a stable, slow moving tool, since the app is still at 0.6.x and ships alongside separately versioned packages and agents. Before adopting it, confirm your exact database engine works in the current release rather than relying on the 100+ databases headline, and pin the app and package versions you test.
Frequently asked questions
Is t8y2/dbx one of the open source database management tools worth considering?
dbx is an Apache-2.0 licensed cross-platform database client for MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse and SQL Server, available as a desktop app, CLI and MCP server.
Can t8y2/dbx be used from an AI coding tool?
Yes. The project ships an MCP server, published on npm as @dbx-app/mcp-server and built from crates/dbx-mcp, with an example in examples/mcp/.
Does t8y2/dbx run on Windows 7?
The project maintains an offline Windows 7 and Server 2012 R2 bundle that links the WebView2 SDK 1.0.902.49 loader, kept as a vendored crate because newer loaders import a function those systems lack.
Which version of t8y2/dbx is current?
The desktop app is at v0.6.65, the npm packages at 0.4.138 and the agents at v0.2.158, all tagged on 2026-11-03.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/t8y2-dbx)Star history chart for your README
[](https://hysenlabs.com/projects/t8y2-dbx)Was this useful?