Skip to main content
Glama
srthkdev

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: MySQL 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

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/srthkdev/omnisql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server