Skip to main content
Glama
DBeaver MCP Server

DBeaver MCP Server

by srthkdev

OmniSQL MCP

Универсальный MCP-сервер для баз данных — предоставьте ИИ-ассистентам доступ на чтение/запись к вашим базам данных, используя подключения, уже сохраненные в рабочем пространстве вашего локального DB-клиента (совместимого с DBeaver).

npm version License: MIT Node.js

Поддержка баз данных

Нативная поддержка (прямой драйвер, высокая скорость):

  • 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"
    }
  }
}

Переменные окружения

Переменная

Описание

По умолчанию

OMNISQL_CLI_PATH

Путь к внешнему CLI DB-клиента (используется для отката к неподдерживаемым драйверам)

Не задано

OMNISQL_WORKSPACE

Путь к директории рабочего пространства локального DB-клиента

По умолчанию для ОС

OMNISQL_TIMEOUT

Тайм-аут запроса (мс)

30000

OMNISQL_DEBUG

Включить отладочное логирование

false

OMNISQL_READ_ONLY

Отключить все операции записи

false

OMNISQL_ALLOWED_CONNECTIONS

Белый список ID или имен подключений через запятую

Все

OMNISQL_DISABLED_TOOLS

Инструменты для отключения через запятую

Нет

OMNISQL_POOL_MIN

Минимальное количество подключений в пуле

2

OMNISQL_POOL_MAX

Максимальное количество подключений в пуле

10

OMNISQL_POOL_IDLE_TIMEOUT

Тайм-аут простаивающего подключения (мс)

30000

OMNISQL_POOL_ACQUIRE_TIMEOUT

Тайм-аут получения подключения (мс)

10000

Режим «только чтение»

Блокирует все операции записи. Инструмент 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/DELETE

  • export_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 tools
alter_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

    B3.4/5.0

    Scored across 14 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A 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.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A 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 npm
      9
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A 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.
      4
      MIT

    Appeared in Searches