DBeaver MCP Server
Integra-se ao DBeaver para fornecer a assistentes de
Documentação
OmniSQL MCP
Servidor MCP universal de banco de dados — dá aos assistentes de IA acesso de leitura/gravação aos seus bancos de dados usando conexões já salvas no workspace do seu cliente de banco local (compatível com DBeaver).
Suporte a Bancos de Dados
Com suporte nativo (driver direto, rápido):
- PostgreSQL (via
pg) - MySQL / MariaDB (via
mysql2) - SQL Server / MSSQL (via
mssql) - SQLite (via CLI do
sqlite3)
Compatível com Postgres (roteado automaticamente pelo driver pg):
- CockroachDB, TimescaleDB, Amazon Redshift, YugabyteDB, AlloyDB, Supabase, Neon, Citus
Outros bancos de dados: usa como fallback uma CLI externa configurada via OMNISQL_CLI_PATH. Os resultados variam conforme a CLI.
Recursos
- Reutiliza conexões já configuradas no workspace do seu cliente de banco local — sem configuração duplicada
- Execução nativa de consultas para PostgreSQL, MySQL/MariaDB, SQLite, SQL Server
- Pool de conexões com tamanho e timeouts configuráveis
- Suporte a transações (BEGIN/COMMIT/ROLLBACK)
- Análise de plano de execução de consultas (EXPLAIN)
- Comparação de esquemas entre conexões com geração de scripts de migração
- Modo somente leitura com SELECT-only imposto no
execute_query - Lista de permissão de conexões para restringir quais bancos de dados são acessíveis
- Filtro de ferramentas para desabilitar operações específicas
- Validação de consultas para bloquear operações perigosas (DROP DATABASE, TRUNCATE, DELETE/UPDATE sem WHERE)
- Exportação de dados para CSV/JSON
- Encerramento gracioso com limpeza do pool de conexões
Requisitos
- Node.js 18+
- Um cliente de banco local (compatível com DBeaver) com pelo menos uma conexão configurada
Instalação
npm install -g omnisql-mcp
Configuração
Claude Desktop
Adicione ao ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}
Claude Code
Adicione ao ~/.claude/settings.json:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}
Cursor
Adicione em Cursor Settings > MCP Servers:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}
Variáveis de Ambiente
| Variável | Descrição | Padrão |
|---|---|---|
OMNISQL_CLI_PATH | Caminho para a CLI do cliente de banco externo (usado no fallback para drivers sem suporte) | Não definido |
OMNISQL_WORKSPACE | Caminho para o diretório do workspace do cliente de banco local | Padrão do SO |
OMNISQL_TIMEOUT | Timeout de consulta (ms) | 30000 |
OMNISQL_DEBUG | Habilita logging de depuração | false |
OMNISQL_READ_ONLY | Desabilita todas as operações de gravação | false |
OMNISQL_ALLOWED_CONNECTIONS | Lista de permissão de IDs ou nomes de conexão separados por vírgula | Todas |
OMNISQL_DISABLED_TOOLS | Ferramentas a desabilitar, separadas por vírgula | Nenhuma |
OMNISQL_POOL_MIN | Conexões mínimas por pool | 2 |
OMNISQL_POOL_MAX | Conexões máximas por pool | 10 |
OMNISQL_POOL_IDLE_TIMEOUT | Timeout de conexão ociosa (ms) | 30000 |
OMNISQL_POOL_ACQUIRE_TIMEOUT | Timeout de aquisição de conexão (ms) | 10000 |
Modo Somente Leitura
Bloqueia todas as operações de gravação. A ferramenta execute_query permite apenas instruções SELECT, EXPLAIN, SHOW e DESCRIBE. As ferramentas de transação ficam totalmente desabilitadas.
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_READ_ONLY": "true"
}
}
}
}
Lista de Permissão de Conexões
Restringe quais conexões do workspace ficam visíveis. Aceita IDs de conexão ou nomes de exibição, separados por vírgula:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_ALLOWED_CONNECTIONS": "dev-postgres,staging-mysql"
}
}
}
}
Desabilitar Ferramentas Específicas
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_DISABLED_TOOLS": "drop_table,alter_table,write_query"
}
}
}
}
Ferramentas Disponíveis
Gerenciamento de Conexões
list_connections- Lista todas as conexões de banco de dadosget_connection_info- Obtém detalhes da conexãotest_connection- Testa a conectividade
Operações de Dados
execute_query- Executa consultas somente leitura (apenas SELECT, EXPLAIN, SHOW, DESCRIBE)write_query- Executa INSERT/UPDATE/DELETEexport_data- Exporta para CSV/JSON
Gerenciamento de Esquema
list_tables- Lista tabelas e viewsget_table_schema- Obtém a estrutura da tabelacreate_table- Cria tabelasalter_table- Modifica tabelasdrop_table- Remove tabelas (requer confirmação)
Transações
begin_transaction- Inicia uma nova transaçãoexecute_in_transaction- Executa consulta dentro de uma transaçãocommit_transaction- Confirma uma transaçãorollback_transaction- Reverte uma transação
Análise de Consultas
explain_query- Analisa o plano de execução da consultacompare_schemas- Compara esquemas entre duas conexõesget_pool_stats- Obtém estatísticas do pool de conexões
Outros
get_database_stats- Estatísticas do banco de dadosappend_insight- Armazena notas de análiselist_insights- Recupera notas armazenadas
Segurança
- Imposição de somente leitura:
execute_queryaceita apenas instruções somente leitura (SELECT, EXPLAIN, SHOW, DESCRIBE, PRAGMA). Operações de gravação devem usarwrite_query. - Validação de consultas: Bloqueia DROP DATABASE, DROP SCHEMA, TRUNCATE, DELETE/UPDATE sem WHERE, GRANT, REVOKE e instruções de gerenciamento de usuário.
- Lista de permissão de conexões: Restringe quais conexões são expostas via
OMNISQL_ALLOWED_CONNECTIONS. - Filtro de ferramentas: Desabilita qualquer ferramenta via
OMNISQL_DISABLED_TOOLS. - Sanitização de entrada: IDs de conexão e identificadores SQL são sanitizados para prevenir injeção.
- Recomendação: Para uso em produção, utilize também um usuário somente leitura no nível do banco para defesa em profundidade.
Suporte a Formatos de Workspace
Suporta ambos os formatos de configuração gravados por clientes de banco compatíveis com DBeaver:
- Legado: config XML em
.metadata/.plugins/org.jkiss.dbeaver.core/ - Moderno: config JSON em
General/.dbeaver/
As credenciais são descriptografadas automaticamente do credentials-config.json do workspace.
Desenvolvimento
git clone https://github.com/srthkdev/omnisql-mcp.git
cd omnisql-mcp
npm install
npm run build
npm test
npm run lint
Licença
MIT