DBX — лёгкий клиент для 100+ баз данных с ИИ-ассистентом, MCP-сервером и CLI

· 3 мин чтения
database database-client mcp ai-agents rust open-source
📂 Исходный код на GitHub

Кроссплатформенный клиент для управления базами данных размером около 25 МБ: поддерживает 100+ СУБД и хранилищ (MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server, Oracle, Elasticsearch, а также отечественные DM, OceanBase, openGauss, GaussDB, KingbaseES, TDengine), плюс консоли для Kafka, RocketMQ, RabbitMQ, Pulsar, MQTT, Nacos, Consul, ZooKeeper и etcd. Поставляется как настольное приложение на Tauri 2, веб-версия в Docker и CLI, есть встроенный ИИ-ассистент для SQL и отдельный MCP-сервер. Написан на Rust и TypeScript, лицензия Apache-2.0, около 21,6 тыс. звёзд.

DBX — лёгкий клиент для 100+ баз данных с ИИ-ассистентом, MCP-сервером и CLI

DBX — открытый клиент для работы с базами данных, который весит около 25 МБ и не требует установки Java. Это ответ на два привычных раздражителя: DBeaver тянет за собой JRE, а TablePlus урезает бесплатную версию. DBX собирается в один маленький файл — скачали, запустили, подключились.

Проект умеет три вещи сразу: это настольное приложение, веб-версия в Docker и отдельный CLI. Плюс два интерфейса для ИИ: встроенный помощник, который пишет и чинит SQL, и MCP-сервер, через который ваш ИИ-агент сам ходит в базу.

Репозиторий: t8y2/dbx, лицензия Apache-2.0.

Почему именно DBX

Главный аргумент — размер и отсутствие лишних зависимостей. В сборке нет Java, нет Python-окружения и нет встроенного Chromium. На Linux приходится доустановить только системные библиотеки для Tauri, на macOS и Windows ничего ставить не нужно.

Остальное авторы формулируют так:

  • ИИ прямо в редакторе. Выделяете таблицу, описываете словами, что нужно, получаете SQL. Копировать что-то в другие инструменты не надо. Работает с Claude, OpenAI и локальными моделями через Ollama, а перед запуском сгенерированный запрос проходит встроенную проверку безопасности.
  • MCP из коробки. Claude Code, Cursor, Windsurf и другие агенты получают доступ к вашим подключениям. Конфиг один на все.
  • Одинаковый набор функций везде. Настольная версия, Docker и веб-версия умеют одно и то же и видят одни и те же подключения.
  • Не только базы данных. Консоли очередей сообщений и брокеров: Kafka, RocketMQ, RabbitMQ, Pulsar, MQTT, а также Nacos, Consul, ZooKeeper и etcd.

Какие базы поддерживаются

Список длинный — больше сотни движков. Среди СУБД: MySQL, PostgreSQL, SQLite, Cloudflare D1, Oracle, SQL Server, MariaDB, ClickHouse, DuckDB, Redis, MongoDB, Elasticsearch, Meilisearch, Qdrant, Milvus, Weaviate, CockroachDB, TiDB, OceanBase, Doris, SelectDB, StarRocks, Redshift, Snowflake, BigQuery, Databricks, SAP HANA, Teradata, Neo4j, Cassandra, InfluxDB, QuestDB, Exasol, Firebird.

Отдельно стоит выделить отечественные: DM (Dameng), openGauss, GaussDB, OceanBase, KingbaseES, Vastbase, GoldenDB, TDengine, GBase, YashanDB, Databend, XuguDB. Для части движков DBX подключает JDBC-драйверы: так работают H2, DB2, Informix, Hive, Trino, PrestoSQL и подключения к произвольным базам через JDBC.

Есть отдельные браузеры для Redis (поиск по ключам, массовые операции, TTL, все типы данных) и для MongoDB (CRUD документов, подключение к Atlas и к репликам).

Редактор запросов и таблица данных

Редактор сделан на CodeMirror 6: подсветка синтаксиса, автодополнение с учётом метаданных базы, выполнение по Cmd+Enter, запуск только выделенного фрагмента, форматирование, диагностика и девять тем оформления. История запросов, сохранённые фрагменты SQL, восстановление вкладок и запуск .sql-файлов сохраняются между сессиями.

Таблица результатов виртуально прокручивается и спокойно переваривает большие выборки. Есть редактирование прямо в ячейке, предпросмотр SQL перед сохранением, фильтры в духе DataGrip, поиск по тексту, изменение ширины колонок, нумерация строк. Результат выгружается в CSV, JSON, Markdown, XLSX или в виде INSERT-выражений.

Отдельный набор инструментов работает со схемой:

  • обзор баз, схем, таблиц, колонок, индексов, внешних ключей и триггеров с поиском и закреплением;
  • обзор объектов: процедуры, функции, представления;
  • редактор структуры таблиц с возможностью посмотреть и подтвердить изменения;
  • ER-диаграмма;
  • сравнение схем между подключениями;
  • визуальный план выполнения запроса;
  • анализ происхождения колонок (lineage);
  • поиск объектов по большой схеме.

К операциям с данными относятся импорт из CSV и Excel, перенос данных между базами, дамп всей базы, сравнение содержимого таблиц, запуск .sql-файлов и предпросмотр файлов Parquet, CSV и JSON через DuckDB. Профили подключений можно перенести из DBeaver и Navicat.

ИИ-ассистент

Описываете запрос обычными словами — получаете SQL. Ассистент умеет объяснять чужой запрос, оптимизировать, находить ошибку. Сгенерированный SQL перед выполнением проходит встроенную проверку, а на запись в базу выставляется подтверждение.

Модель на выбор: Claude, OpenAI, локальные модели или любой адрес, который говорит по OpenAI-совместимому API.

MCP-сервер: базы данных для ИИ-агента

Отдельный MCP-сервер на Rust лежит в каталоге packages/mcp-server/. Он распространяется независимо от настольного приложения: установка DBX не ставит MCP-сервер сама.

Запуск и настройка:

npx @dbx-app/mcp-server

В .mcp.json:

{
  "mcpServers": {
    "dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] }
  }
}

Список разрешённых подключений и режим доступа выставляются в настройках DBX. Их три: только чтение, чтение и безопасная запись, полный доступ. В конфигах клиентов отдельные переменные окружения для прав не нужны.

Для веб-версии и Docker MCP-сервер указывают на API бэкенда, а пароль от веб-интерфейса кладут в DBX_WEB_PASSWORD:

{
  "mcpServers": {
    "dbx": {
      "command": "npx",
      "args": ["-y", "@dbx-app/mcp-server"],
      "env": {
        "DBX_WEB_URL": "http://localhost:4224",
        "DBX_WEB_PASSWORD": "your-web-login-password"
      }
    }
  }
}

Агент может показать список подключений, открыть список таблиц, выполнить SQL и сразу открыть таблицу в интерфейсе DBX. Готовые бинарники под macOS, Linux и Windows лежат в релизах пакетов — Node.js для них не нужен, что удобно для серверов и офлайн-окружений. Подробности — в README MCP-сервера.

CLI для терминала

Отдельный пакет для скриптов, терминала и агентов вроде Codex:

npm install -g @dbx-app/cli
# или через Homebrew
brew tap t8y2/tap && brew install dbx-cli

Примеры команд:

dbx agent setup
dbx connections list --json
dbx query local "select 1" --json

dbx agent setup офлайн ставит официальный агентный скилл DBX в ~/.agents/skills/dbx. ИИ-агенты, умеющие работать в терминале, после этого знают, как безопасно пользоваться CLI. Детали — в README CLI.

Плагины

Новые типы подключений приезжают плагинами. Из готового есть S3, Kubernetes, LDAP и многое другое — всё это лежит во встроенном каталоге.

Плагины подписываются и выполняются в песочнице: интерфейс плагина работает в отдельном процессе. Свои плагины пишутся на Go или TypeScript, заготовку создаёт npx @dbx-app/plugin-cli, а листинги для маркетплейса живут в отдельном репозитории t8y2/dbx-store. Подробности разработки — в документации по плагинам.

Установка

Основной способ — страница релизов. Дальше по вкусу:

# macOS
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

Обновления настольной версии приходят сами.

Своё развёртывание в Docker

Веб-версия поднимается одним контейнером на порту 4224:

docker run -d --pull=always --name dbx -p 4224:4224 \
  -v dbx-data:/app/data \
  t8y2/dbx:latest

Тот же образ есть в реестре CNB — docker.cnb.cool/dbxio.com/dbx:latest, из него быстрее тянуть. Готовый compose-файл для опубликованного образа лежит в deploy/docker-compose.release.yml, а deploy/docker-compose.yml остаётся конфигурацией для сборки из исходников. Образы есть под amd64 и arm64.

Про автоматические бэкапы по расписанию — в документе про фоновые бэкапы баз данных.

Как хранятся пароли

Подключения, плагины, настройки ИИ и данные туннелей шифруются перед записью в файл dbx.db. Настольная версия пользуется системным хранилищем секретов: Keychain на macOS, Credential Manager на Windows, Secret Service на Linux. Веб-версия и Docker по умолчанию берут ключ из ${DBX_DATA_DIR}/.dbx/secret.key.

Ключ создаётся при первом запуске миграции или при первой записи секрета, и его нужно хранить вместе с dbx.db. Поэтому для Docker достаточно сохранять том /app/data. Этот ключ защищает содержимое базы, но не спасёт, если весь том скопировать целиком.

Если ключ потерян, при следующем обновлении DBX покажет мастер Data Security Upgrade. Он сделает резервную копию, перенесёт старые данные в зашифрованный вид и проверит, что они читаются. Подробности — в документе о миграции и защите данных.

Стек и разработка

Слой Технологии
Каркас Tauri 2
Фронтенд Vue 3 и TypeScript
Интерфейс shadcn-vue и Tailwind CSS
Редактор CodeMirror 6
Бэкенд Rust с драйверами sqlx, tiberius, redis-rs, mongodb

Сборка из исходников требует Node.js 18 или новее, pnpm и Rust 1.88 или новее. На Linux дополнительно ставятся системные библиотеки для Tauri:

sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev

Дальше всё делает make: ставит зависимости и поднимает локальное окружение Tauri. Веб-версия запускается через make dev-web и make dev-backend, документация — через make docs. Сборка пакета — make package, готовый установщик попадает в src-tauri/target/release/bundle/.

Для NixOS есть отдельная инструкция в README-NIX.md. Локальные базы для разработки и тестов поднимаются по рецептам из deploy/database/, а проекты JDBC-драйверов лежат в каталоге agents/.

Официальная документация — на dbxio.com, описание HTTP API для веб-развёртываний — в docs/content/docs/web-api.mdx, примеры для CLI, MCP, Docker и API — в examples/. Как подключиться к задачам, написано в CONTRIBUTING.md, текст лицензии — в LICENSE.

Источник: https://github.com/t8y2/dbx