「DBeaverはJVMの起動が重い」「TablePlusは有償」——複数のデータベースを日常的に行き来するエンジニアにとって、クライアント選びは長年の悩みだ。dbx(t8y2/dbx)は、Tauri 2+Rust+Vue 3で構築されたクロスプラットフォームDBクライアントで、公開から3か月弱で★11,986(2026年7月28日時点)まで伸びた。
この記事はDBクライアントOSSを解説します。AI時代の自動化ツール全体像についてはAI自動化ツール|ノーコードからコードまで2026年版の比較と選び方をご覧ください。
30秒でわかる dbx
・実体:Tauri 2+Rust+Vue 3製のDBクライアント。Apache-2.0、★11,986、fork 1,150、v0.5.67(2026-07-27)
・「70+DB対応」の実体は二層構造:ネイティブRustドライバで動く層と、別配布のJDBCプラグイン+Java実行環境が要る層に分かれる
・MCPサーバーは別パッケージ:npx @dbx-app/mcp-server。read_only/safe_write/high_risk_writeの3権限モードを持つ
・動かし方は4通り:デスクトップアプリ/Docker(Web版)/CLI/MCPサーバー
・注意点:公称「20MB」はWindowsインストーラ(実測21.2MB)に近い値で、.AppImageは103.2MBある
dbxとは:3か月で★12,000に迫ったRust製DBクライアント
dbxは開発者t8y2氏が公開するDBクライアントで、2026年4月29日に最初のリリース(v0.1.0)が出た比較的新しいプロジェクトだ。GitHub APIで実測した主要な数値を整理する。
| 項目 | 実測値(2026-07-28時点) |
|---|---|
| Stars | 11,986 |
| Forks | 1,150 |
| Open Issues | 1,001 |
| ライセンス | Apache-2.0 |
| 最新バージョン | v0.5.67(2026-07-27) |
| 初回リリース | v0.1.0(2026-04-29) |
| リリース総数 | 130(約90日間・うち本体約88) |
| 主要言語 | Rust 8.85MB / TypeScript 6.13MB / Vue 5.26MB / Java 1.95MB / Go 506KB |
注目すべきは約90日で130件のリリースという更新頻度だ。内訳はデスクトップ本体(vX.Y.Z)が約88件、DB接続用Agent(agents-*)が33件、npmパッケージ(packages-*)が9件で、本体だけでも単純平均で1日1回近く出ている計算になる。実際、最新のv0.5.67のリリースノートには、Linux向け静的ビルドの追加、SSH認証の改善、Nacos設定ワークベンチ、Redisの有効期限ポリシー、etcdのキーTTLなど十数項目の変更が並ぶ。
同時にOpen Issuesが1,001件ある点も見ておきたい。機能追加の速度に対して課題の消化が追いついていない状態とも読めるため、本番運用に組み込む場合はバージョンを固定して検証してから上げる運用が現実的だ。
もう一つ、言語構成にJava 1.95MBが含まれている点が重要になる。「Rust製の軽量クライアント」という説明だけでは説明がつかないこの1.95MBが、次節で扱う二層構造の正体だ。
「70+データベース対応」の実体:ネイティブRustとJDBCプラグインの二層構造
dbxのREADMEは冒頭で「70+ databases in 20 MB」と「No Java JRE」を掲げる。この2つは同時には成立しない場面がある——というのが、実際にリリース資産を展開して確認した結論だ。
対応DBは3つの層に分かれている
READMEの記述を整理すると、対応DBは次の3グループに分けられる。
・ネイティブドライバ層:MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、Qdrant、Milvus、Weaviate、MariaDB、TiDB、OceanBase、openGauss、GaussDB、KingBase、Doris、StarRocks、Redshift、達夢(DM)、TDengine、CockroachDB など。アプリ本体に組み込まれる
・Agent/JDBC層:H2、Snowflake、Trino、PrestoSQL、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、任意のJDBC接続など。READMEに「Agent/JDBC-oriented profiles extend DBX to〜」と明記されている
・メッセージキュー管理:Pulsar、Kafka、RocketMQ(DBではないが管理対象に含まれる)
JDBCプラグインの中身を展開して確認した
v0.5.67のリリース資産には dbx-jdbc-plugin-0.1.26.zip(9.4MB)が含まれる。これを展開すると構成は次の通りだった。
| ファイル | サイズ | 役割 |
|---|---|---|
lib/dbx-jdbc-plugin.jar |
10.5MB | JDBCドライバを扱う本体(fat JAR) |
bin/dbx-jdbc-plugin / .bat |
約2KB | 起動スクリプト(sh / Windows) |
bin/dbx-maven-resolver / .bat |
約1.6KB | JDBCドライバをMavenから解決するツール |
manifest.json |
328B | プラグイン定義("kind": "external") |
起動スクリプトの中身を読むと、Java実行環境の探索順が明示されている。DBX_JAVA_BIN → JAVA_HOME → Homebrewのopenjdk → PATH上のjava の順に探し、どれも見つからなければ次のエラーで終了する。
JDBCプラグインの起動スクリプトが出すエラー(実物)
Java runtime not found. Install Java or the optional DBX JDBC runtime.(終了コード127)
つまりJDBC層のDBを使う場合、READMEの「No Java JRE」は成立しない。自分の環境でJavaが入っているかは java -version で確認できる。
さらに dbx-maven-resolver は app.dbx.jdbc.maven.DbxMavenResolver を呼び出す。これはJDBCドライバのJARを実行時にMavenリポジトリから取得する仕組みで、オフライン環境や外部通信が制限された環境では追加の考慮が必要になることを意味する。
(Vue 3 + Tauri 2)"] --> R["Rust バックエンド"] R -->|"アプリ本体に同梱
Java不要"| N["ネイティブドライバ層
MySQL / PostgreSQL / Redis
MongoDB / ClickHouse / DuckDB ほか"] R -->|"別配布プラグイン
zip 9.4MB"| J["JDBCプラグイン
dbx-jdbc-plugin.jar 10.5MB"] J -->|"要 Java 実行環境
無ければ exit 127"| JV["JVM"] J -->|"実行時に取得"| M["Maven リポジトリ
(JDBCドライバJAR)"] JV --> X["Agent/JDBC層
Snowflake / Trino / Hive
DB2 / Neo4j / BigQuery ほか"]
この構造は「欠陥」ではなく設計判断
誤解しないでほしいのは、この二層構造そのものは合理的だという点だ。JDBCドライバはベンダーごとにライセンスが異なり、すべてを同梱すると配布サイズもライセンス管理も破綻する。必要な人だけが追加でJavaとドライバを用意する構成は、むしろ現実的な落とし所と言える。
実際、プロジェクトはネイティブ層への移行を進めている。v0.5.67のリリースノートには「Kingbaseがネイティブモジュールへの移行を完了し、旧Java Agentを削除した」旨が記載されている。つまりJDBC層は恒久的なものではなく、対応が固まったDBから順にRustネイティブへ移されている過渡的な層だ。
問題なのは構造ではなく、READMEの見出しだけを読むと「20MBのバイナリ1つで70種類以上が全部使える」と読めてしまうことにある。導入判断をするなら、自分が使いたいDBがどちらの層かを先に確認したい。
MCPサーバー:AIエージェントにDBを開かせる3つの権限モード
2026年5月時点の本記事初版には無かった機能で、現在のdbxで最も注目すべきなのがMCP(Model Context Protocol)サーバーだ。Claude Code、Cursor、WindsurfなどのAIコーディングエージェントから、dbxに登録済みの接続を通してDBを参照・操作できる。
まず押さえる:MCPサーバーは別パッケージ
READMEには次の趣旨が明記されている——MCPサーバーはデスクトップアプリとは独立して配布されるため、dbxをインストールしてもMCP実行ファイルは自動的にはインストールされない。npmパッケージ@dbx-app/mcp-server(Apache-2.0、最新0.4.44、2026-05-03公開)として提供され、Node.js非依存のネイティブバイナリもリリースページで配布されている。
{
"mcpServers": {
"dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] }
}
}
上記を.mcp.jsonに置けばClaude Code等から利用できる。DockerやWeb版のdbxに接続する場合はenvにDBX_WEB_URL(例:http://localhost:4224)を、Webログインにパスワードを設定しているならDBX_WEB_PASSWORDを加える。Windowsのポータブル版ではDBX_DATA_DIRにdbx.dbのあるdataディレクトリを指定する必要がある。
権限モデルが実用上いちばん重要
AIエージェントにDB接続を渡すのは、便利さと危険が直結する操作だ。dbxはこれを3つのモードで制御する。
| 表示名 | 内部値 | できること |
|---|---|---|
| Read only | read_only |
読み取りのみ |
| Data read/write | safe_write |
データの読み書き |
| Full access | high_risk_write |
制限なし |
内部値がsafe_write・high_risk_writeという名前になっている点は率直で良い。「Full access」という表示名よりhigh_risk_writeという内部値のほうが、何を有効にしようとしているかを正確に伝えている。
設定はDBX Settings → MCPで、接続ごとの許可リストとあわせて管理する。クライアント側の設定ファイルに権限や接続範囲の環境変数を書く必要はない、とREADMEは説明している。設定をクライアント側に散らさずDBX側へ集約する方針だ。
旧環境変数の扱いに注意
以前のDBX_MCP_ALLOW_WRITES=0(またはfalse)は、中央のMCPポリシーが初めて保存されるまでの間だけ読み取り専用の制限として残る。そしてこの環境変数は書き込みを有効化することも、保存済みポリシーを上書きすることもできないとREADMEに明記されている。
環境変数で権限を緩める抜け道を塞いだ設計であり、移行期の互換性としては安全側に倒した実装と言える。逆に言えば「環境変数を消したら書き込みが有効になる」といった誤解は禁物で、権限はDBX側の保存済みポリシーが正となる。
MCPサーバーが提供する機能は、接続の一覧表示、テーブルの参照、SQLの実行、そしてdbxのUI上で該当テーブルを直接開く操作に対応する。プロトコルそのものの仕様はModel Context Protocol公式サイトが一次ソースになる。
CLI・Docker・Web:デスクトップ以外の3つの動かし方
dbxはデスクトップアプリだけの製品ではない。用途に応じて4つの形態が用意されている。
| 形態 | 導入方法 | 主な用途 |
|---|---|---|
| デスクトップアプリ | Homebrew / Scoop / WinGet / Flatpak | 日常の開発・分析 |
| Docker(Web版) | t8y2/dbx:latest |
チーム共有・ブラウザのみの環境 |
| CLI | @dbx-app/cli(npm)/ Homebrew |
スクリプト・CI・ターミナル作業 |
| MCPサーバー | @dbx-app/mcp-server(npm)/ ネイティブバイナリ |
AIエージェント連携 |
Docker版(Web UI)
セルフホストしてブラウザから使う構成は1コマンドで立ち上がる。ポートは4224、データは名前付きボリュームに保存される。
docker run -d --pull=always --name dbx -p 4224:4224 -v dbx-data:/app/data t8y2/dbx:latest
チームで共有する場合、この構成は「各自のマシンに接続情報を配らなくてよい」という利点がある一方、Web UIに到達できる人はそこに登録された全DBに触れることになる。ログインパスワードの設定とネットワーク境界の設計は必須だと考えたい。バックアップ運用まで含めて整えるならDatabasement解説:セルフホスト型データベースバックアップ管理OSSのようなバックアップ専用ツールとの併用が現実的だ。
CLI
CLIはnpm install -g @dbx-app/cli、またはHomebrew(brew tap t8y2/dbx → brew install dbx-cli)で導入する。dbx connections list --jsonで登録済み接続を一覧し、dbx query local "select 1" --jsonのようにクエリを実行できる。--jsonが標準で用意されているため、jqと組み合わせたスクリプトやCIでの利用を想定した設計だとわかる。
なおv0.5.67ではLinux向けの完全静的ビルド(x64/arm64)が追加された。対象システムのglibcに依存しないため、古いディストリビューションやコンテナ内での実行がしやすくなっている。
AI SQLアシスタントとエディタ・データグリッドの実装
AIアシスタントは外部API固定ではない
AI SQLアシスタントは自然言語からのSQL生成、クエリの解説、最適化、エラー修正に対応する。接続先はClaude、OpenAI、Ollama経由のローカルモデル、そして任意のOpenAI互換エンドポイントから選べる。
ローカルモデルを選べる点は、社内のスキーマ情報を外部に出せない組織にとって実務上大きい。READMEには、AIが生成したSQLを実行する前に組み込みの安全性チェックを通すとも記載されている。
エディタ
CodeMirror 6ベースで、SQLシンタックスハイライト、メタデータを参照した補完、Cmd+Enter実行、選択範囲のみの実行、整形、診断表示、9種類のエディタテーマを備える。クエリ履歴の永続化、スニペット保存、タブ復元、.sqlファイルの実行にも対応する。
データグリッド
仮想スクロールで大きな結果セットを扱い、インラインで編集できる。実務上重要なのは保存前にSQLをプレビューできる点で、意図しないUPDATEをそのまま流さずに済む。
・WHERE / ORDER BY のGUI操作、DataGrip風フィルタ、LIKE / NOT LIKE のコンテキストフィルタ
・全文検索、ページネーション、列幅調整、自動フィット、行番号、ゼブラストライプ
・エクスポートとコピーは CSV / JSON / Markdown / XLSX / INSERT文 に対応
スキーマツール
スキーマブラウザ(テーブル・カラム・インデックス・外部キー・トリガー)に加え、ER図、スキーマ差分(接続間の構造比較)、実行計画の可視化、カラム単位のリネージ解析、大規模スキーマ内のオブジェクト検索を備える。
スキーマ差分とリネージは、商用ツールでは有償プランに入りがちな機能だ。ここがOSSで使えるのはdbxの実質的な強みと言える。
ファイルプレビュー
Parquet・CSV・JSONファイルをウィンドウにドラッグすると、内蔵のDuckDBが即座にSQLで問い合わせられる状態にする。ローカルの分析用途では、この機能だけでも導入価値がある。列指向フォーマットを本格的に扱うならClickHouse完全ガイドもあわせて参照したい。
他のDBクライアント・AI SQLツールとの比較
| ツール | 種別 | AI機能 | MCP | ライセンス | 備考 |
|---|---|---|---|---|---|
| dbx | デスクトップ+Web+CLI | Claude/OpenAI/ローカル | あり(別配布) | Apache-2.0 | Rust製。JDBC層は要Java |
| Chat2DB | AI SQLクライアント | あり | — | v5.3.0でsource-available化 | ライセンス転換に注意 |
| DBeaver Community | デスクトップ | プラグイン | — | Apache-2.0 | 老舗・対応DB数が最多クラス・JVM必須 |
| TablePlus | デスクトップ | — | — | 商用 | UXに定評・有償 |
| Beekeeper Studio | デスクトップ | — | — | MIT / 商用 | Electronベース |
dbxの位置づけを一言でまとめると、「Rustネイティブの軽さ」と「AIエージェント連携(MCP)」を両立させにきた新顔だ。対応DB数の絶対値ではDBeaverに分があり、成熟度でも老舗に届かない。一方で、MCPサーバーを公式に用意してAIコーディングエージェントからの利用を正面から設計しているクライアントは、2026年7月時点ではまだ多くない。
なお同じくAI連携を打ち出すChat2DBは、v5.3.0でApache-2.0からsource-availableライセンスへ転換した経緯がある。ライセンス条件を重視するなら、dbxがApache-2.0を維持している点は選定材料になる。
導入手順と、公称値を鵜呑みにしないための確認
インストール
# macOS(Homebrew)
brew install --cask dbx
# Windows(Scoop)
scoop bucket add dbx https://github.com/t8y2/scoop-bucket
scoop install dbx
# Windows(WinGet)
winget install t8y2.dbx
# Linux(Flatpak)
flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak install flatpark com.dbxio.dbx
「20MB」と実測サイズの差
v0.5.67のリリース資産から実測したインストーラのサイズは次の通り。
| 配布物 | 実測サイズ |
|---|---|
Windows x64 インストーラ(.exe) |
21.2MB |
Windows x64 ポータブル(.zip) |
28.3MB |
macOS arm64(.dmg) |
30.9MB |
macOS x64(.dmg) |
34.1MB |
Linux amd64(.deb) |
32.1MB |
Linux amd64(.AppImage) |
103.2MB |
Windows x64 WebView2同梱版(.exe) |
218.1MB |
公称「20MB」に最も近いのはWindowsのインストーラ(21.2MB)だ。AppImageが103.2MBあるのは、WebKitGTKなどの依存を同梱するためで、Tauriの構造上そうなる。「20MB」は最小構成の目安と理解しておけば、実際にダウンロードしたときのギャップに驚かずに済む。
ダウンロード数バッジの読み方
READMEにはGitHubの累計ダウンロード数バッジが貼られている。全130リリースの資産を集計すると総計は1,398,510だが、内訳を分けると見え方が変わる。
| 区分 | 件数 | 割合 |
|---|---|---|
latest.json(自動更新マニフェスト) |
1,195,296 | 85.5% |
| インストーラ・パッケージ本体 | 190,018 | 13.6% |
| JDBCプラグイン | 11,903 | 0.9% |
| 署名・チェックサム | 1,293 | 0.1% |
latest.jsonはインストール済みアプリが自動更新確認のために取得するマニフェストであり、人間によるダウンロードではない。これを除いた実質的な配布実績は約19万件と読むのが妥当だ。19万件でも新興プロジェクトとしては十分に大きな数字だが、「140万ダウンロード」と「19万ダウンロード」では評価が変わる。GitHubのダウンロードバッジを比較材料に使うときは、自動更新の仕組みを持つアプリでは同種の差が出る点を覚えておきたい。
本記事の検証範囲
本記事の数値は2026年7月28日時点のもので、確認方法はGitHub APIによるリポジトリ情報とリリース資産の集計、LICENSEファイルの取得、JDBCプラグインzipの展開と起動スクリプトの読解、npmレジストリの参照による。dbx本体をインストールしての動作検証は行っていないため、UIの操作感や各DBへの実接続の可否については公式READMEとリリースノートの記載に基づく。バージョンは頻繁に更新されるため、導入時は最新のリリースページを確認してほしい。
運用上の確認ポイント
・使いたいDBがどちらの層かを先に確認する。JDBC層ならJava実行環境(java -versionで確認)とプラグイン導入が前提
・バージョンを固定する。約90日で130リリースという速度なので、検証したバージョンを明示して運用する
・MCPを使うなら権限モードを最小から。まずread_onlyで始め、必要になった接続だけ段階的に緩める
・Docker版は到達可能性が権限。Web UIに到達できる人は登録済みDBに触れるため、パスワードとネットワーク境界を設計する
まとめ:公称値の内訳を知ったうえで選べば良い選択肢
dbxは、Rustネイティブの軽さ、AI SQLアシスタント、そしてMCPサーバーによるAIエージェント連携を1つのプロダクトに束ねた、2026年時点で意欲的なDBクライアントだ。Apache-2.0で商用利用でき、デスクトップ・Docker・CLI・MCPと4つの形態を持つ点も実務で効く。
一方で本記事が一次ソースで確認した通り、「20MBで70+DB」という要約には注釈が要る。ネイティブ層と、Java実行環境を必要とするJDBC層は別物であり、MCPサーバーもアプリとは独立した配布物だ。これらは欠陥ではなく設計判断だが、導入判断の前に知っておくべき事実ではある。
MySQL・PostgreSQL・Redis・MongoDB・ClickHouseあたりが主戦場なら、dbxはネイティブ層だけで完結し、公称通りの軽さの恩恵をそのまま受けられる。SnowflakeやHiveが必要なら、Javaとプラグインを含めた構成で評価する——この線引きさえできていれば、選択を誤ることはない。
参照ソース
- t8y2/dbx (GitHub) — README、LICENSE(Apache-2.0)、リリース資産
- dbx Releases v0.5.67 — リリースノート・配布物サイズ・JDBCプラグイン
- @dbx-app/mcp-server (npm) — MCPサーバーのバージョン・ライセンス
- @dbx-app/cli (npm) — CLIパッケージ
- Tauri 2.0 Documentation
- DuckDB Documentation
- Model Context Protocol