DBeaver MCP Server
OmniSQL MCP
Универсальный MCP-сервер для баз данных — предоставьте ИИ-ассистентам доступ на чтение/запись к вашим базам данных, используя подключения, уже сохраненные в рабочем пространстве вашего локального DB-клиента (совместимого с DBeaver).
Поддержка баз данных
Нативная поддержка (прямой драйвер, высокая скорость):
PostgreSQL (через
pg)MySQL / MariaDB (через
mysql2)SQL Server / MSSQL (через
mssql)SQLite (через CLI
sqlite3)
Postgres-совместимые (автоматически направляются через драйвер pg):
CockroachDB, TimescaleDB, Amazon Redshift, YugabyteDB, AlloyDB, Supabase, Neon, Citus
Другие базы данных: Используется внешний CLI, настроенный через OMNISQL_CLI_PATH. Результаты зависят от конкретного CLI.
Related MCP server: Alibaba Cloud DMS MCP Server
Функции
Повторное использование подключений, уже настроенных в рабочем пространстве вашего локального DB-клиента — никакой дублирующей настройки
Нативное выполнение запросов для PostgreSQL, MySQL/MariaDB, SQLite, SQL Server
Пул подключений с настраиваемым размером и тайм-аутами
Поддержка транзакций (BEGIN/COMMIT/ROLLBACK)
Анализ плана выполнения запроса (EXPLAIN)
Сравнение схем между подключениями с генерацией скриптов миграции
Режим «только чтение» с принудительным ограничением SELECT в
execute_queryБелый список подключений для ограничения доступа к базам данных
Фильтрация инструментов для отключения определенных операций
Валидация запросов для блокировки опасных операций (DROP DATABASE, TRUNCATE, DELETE/UPDATE без WHERE)
Экспорт данных в CSV/JSON
Корректное завершение работы с очисткой пула подключений
Требования
Node.js 18+
Локальный DB-клиент (совместимый с DBeaver) с хотя бы одним настроенным подключением
Установка
npm install -g omnisql-mcpКонфигурация
Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}Claude Code
Добавьте в ~/.claude/settings.json:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}Cursor
Добавьте в Cursor Settings > MCP Servers:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}Переменные окружения
Переменная | Описание | По умолчанию |
| Путь к внешнему CLI DB-клиента (используется для отката к неподдерживаемым драйверам) | Не задано |
| Путь к директории рабочего пространства локального DB-клиента | По умолчанию для ОС |
| Тайм-аут запроса (мс) |
|
| Включить отладочное логирование |
|
| Отключить все операции записи |
|
| Белый список ID или имен подключений через запятую | Все |
| Инструменты для отключения через запятую | Нет |
| Минимальное количество подключений в пуле |
|
| Максимальное количество подключений в пуле |
|
| Тайм-аут простаивающего подключения (мс) |
|
| Тайм-аут получения подключения (мс) |
|
Режим «только чтение»
Блокирует все операции записи. Инструмент execute_query разрешает только операторы SELECT, EXPLAIN, SHOW и DESCRIBE. Инструменты транзакций полностью отключены.
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_READ_ONLY": "true"
}
}
}
}Белый список подключений
Ограничивает видимость подключений рабочего пространства. Принимает ID подключений или отображаемые имена через запятую:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_ALLOWED_CONNECTIONS": "dev-postgres,staging-mysql"
}
}
}
}Отключение определенных инструментов
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_DISABLED_TOOLS": "drop_table,alter_table,write_query"
}
}
}
}Доступные инструменты
Управление подключениями
list_connections- Список всех подключений к базам данныхget_connection_info- Получить детали подключенияtest_connection- Проверить соединение
Операции с данными
execute_query- Выполнение запросов только на чтение (только SELECT, EXPLAIN, SHOW, DESCRIBE)write_query- Выполнение INSERT/UPDATE/DELETEexport_data- Экспорт в CSV/JSON
Управление схемой
list_tables- Список таблиц и представленийget_table_schema- Получить структуру таблицыcreate_table- Создать таблицыalter_table- Изменить таблицыdrop_table- Удалить таблицы (требуется подтверждение)
Транзакции
begin_transaction- Начать новую транзакциюexecute_in_transaction- Выполнить запрос внутри транзакцииcommit_transaction- Зафиксировать транзакциюrollback_transaction- Откатить транзакцию
Анализ запросов
explain_query- Анализ плана выполнения запросаcompare_schemas- Сравнение схем между двумя подключениямиget_pool_stats- Получить статистику пула подключений
Другое
get_database_stats- Статистика базы данныхappend_insight- Сохранить заметки анализаlist_insights- Получить сохраненные заметки
Безопасность
Принудительный режим «только чтение»:
execute_queryпринимает только операторы чтения (SELECT, EXPLAIN, SHOW, DESCRIBE, PRAGMA). Операции записи должны использоватьwrite_query.Валидация запросов: Блокирует DROP DATABASE, DROP SCHEMA, TRUNCATE, DELETE/UPDATE без WHERE, GRANT, REVOKE и операторы управления пользователями.
Белый список подключений: Ограничение доступа к подключениям через
OMNISQL_ALLOWED_CONNECTIONS.Фильтрация инструментов: Отключение любого инструмента через
OMNISQL_DISABLED_TOOLS.Санитизация ввода: ID подключений и SQL-идентификаторы очищаются для предотвращения инъекций.
Рекомендация: Для промышленного использования также используйте пользователя базы данных с правами «только чтение» для обеспечения эшелонированной защиты.
Поддержка форматов рабочего пространства
Поддерживает оба формата конфигурации, используемые DB-клиентами, совместимыми с DBeaver:
Устаревший: XML-конфигурация в
.metadata/.plugins/org.jkiss.dbeaver.core/Современный: JSON-конфигурация в
General/.dbeaver/
Учетные данные автоматически расшифровываются из файла рабочего пространства credentials-config.json.
Разработка
git clone https://github.com/srthkdev/omnisql-mcp.git
cd omnisql-mcp
npm install
npm run build
npm test
npm run lintЛицензия
MIT
Available Tools
14 toolsalter_tableC
Modify existing table schema (add columns, rename tables, etc.)
Inputs: connectionId (required), query (required).
append_insightA
Add a business insight or analysis note to the memo
Inputs: insight (required), connection, tags.
create_tableC
Create new tables in the database
Inputs: connectionId (required), query (required).
drop_tableA
Remove a table from the database with safety confirmation
Inputs: confirm (required), connectionId (required), tableName (required).
execute_queryA
Execute a SQL query on a specific DBeaver connection (read-only queries)
Inputs: connectionId (required), query (required), maxRows.
export_dataC
Export query results to various formats (CSV, JSON, etc.)
Inputs: connectionId (required), query (required), format, includeHeaders, +1 more.
get_connection_infoC
Get detailed information about a specific DBeaver connection
Inputs: connectionId (required).
get_database_statsC
Get statistics and information about a database
Inputs: connectionId (required).
get_table_schemaB
Get schema information for a specific table
Inputs: connectionId (required), tableName (required), includeIndexes.
list_connectionsB
List all available DBeaver database connections
Inputs: includeDetails.
list_insightsA
List all stored business insights and analysis notes
Inputs: connection, tags.
list_tablesC
List all tables in a database
Inputs: connectionId (required), includeViews, schema.
test_connectionC
Test connectivity to a DBeaver connection
Inputs: connectionId (required).
write_queryA
Execute INSERT, UPDATE, or DELETE queries on a specific DBeaver connection
Inputs: connectionId (required), query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Most tools have distinct purposes, but 'execute_query' and 'write_query' could cause confusion as both execute SQL queries, with the distinction being read-only vs. write operations. Other tools like 'create_table', 'alter_table', and 'drop_table' are clearly differentiated for table management.
All tools follow a consistent verb_noun naming pattern (e.g., 'create_table', 'list_connections', 'execute_query'), with no mixing of conventions like camelCase or snake_case variations. This predictability makes the tool set easy to navigate and understand.
With 14 tools, the count is well-scoped for a database management server, covering core operations like connection handling, query execution, table management, and data export. Each tool serves a specific function without redundancy, fitting the domain appropriately.
The tool set provides comprehensive coverage for database operations, including CRUD for tables, connection management, and query execution. A minor gap exists in data manipulation beyond basic queries, such as bulk operations or transaction handling, but core workflows are well-supported.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Draxlr's remote MCP server connects AI assistants to your SQL databases and dashboards. Explore schemas, run read-only queries, manage saved queries and dashboards, and export results, all with row-level security so each user sees only their own data.
Hosted SQL Server MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.-- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables large language models to access database metadata and perform cross-engine data querying across diverse database ecosystems.1654Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI assistants with comprehensive access to SQL databases, enabling schema inspection, query execution, and database operations with enterprise-grade security.55 npm9MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides real-time database schema information to AI assistants, supporting both low-code system schema queries and traditional database metadata queries.4MIT