Skip to main content
Glama
srthkdev

DBeaver MCP Server

by srthkdev

OmniSQL MCP

Servidor MCP de base de datos universal: brinde a los asistentes de IA acceso de lectura/escritura a sus bases de datos utilizando conexiones ya guardadas en su espacio de trabajo de cliente de base de datos local (compatible con DBeaver).

npm version License: MIT Node.js

Compatibilidad con bases de datos

Soportadas de forma nativa (controlador directo, rápido):

  • PostgreSQL (vía pg)

  • MySQL / MariaDB (vía mysql2)

  • SQL Server / MSSQL (vía mssql)

  • SQLite (vía CLI sqlite3)

Compatible con Postgres (enrutado automáticamente a través del controlador pg):

  • CockroachDB, TimescaleDB, Amazon Redshift, YugabyteDB, AlloyDB, Supabase, Neon, Citus

Otras bases de datos: Se recurre a una CLI externa configurada a través de OMNISQL_CLI_PATH. Los resultados varían según la CLI.

Related MCP server: MySQL MCP Server

Características

  • Reutiliza las conexiones ya configuradas en su espacio de trabajo de cliente de base de datos local: sin configuración duplicada

  • Ejecución de consultas nativa para PostgreSQL, MySQL/MariaDB, SQLite, SQL Server

  • Agrupación de conexiones (pooling) con tamaño de grupo y tiempos de espera configurables

  • Soporte para transacciones (BEGIN/COMMIT/ROLLBACK)

  • Análisis del plan de ejecución de consultas (EXPLAIN)

  • Comparación de esquemas entre conexiones con generación de scripts de migración

  • Modo de solo lectura con SELECT forzado en execute_query

  • Lista blanca de conexiones para restringir a qué bases de datos se puede acceder

  • Filtrado de herramientas para deshabilitar operaciones específicas

  • Validación de consultas para bloquear operaciones peligrosas (DROP DATABASE, TRUNCATE, DELETE/UPDATE sin WHERE)

  • Exportación de datos a CSV/JSON

  • Apagado elegante con limpieza del grupo de conexiones

Requisitos

  • Node.js 18+

  • Un cliente de base de datos local (compatible con DBeaver) con al menos una conexión configurada

Instalación

npm install -g omnisql-mcp

Configuración

Claude Desktop

Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp"
    }
  }
}

Claude Code

Añadir a ~/.claude/settings.json:

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp"
    }
  }
}

Cursor

Añadir a Cursor Settings > MCP Servers:

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp"
    }
  }
}

Variables de entorno

Variable

Descripción

Predeterminado

OMNISQL_CLI_PATH

Ruta a la CLI del cliente de base de datos externo (usado para respaldo de controlador no soportado)

Sin establecer

OMNISQL_WORKSPACE

Ruta al directorio del espacio de trabajo del cliente de base de datos local

Predeterminado del SO

OMNISQL_TIMEOUT

Tiempo de espera de consulta (ms)

30000

OMNISQL_DEBUG

Habilitar registro de depuración

false

OMNISQL_READ_ONLY

Deshabilitar todas las operaciones de escritura

false

OMNISQL_ALLOWED_CONNECTIONS

Lista blanca separada por comas de IDs o nombres de conexión

Todas

OMNISQL_DISABLED_TOOLS

Herramientas separadas por comas para deshabilitar

Ninguna

OMNISQL_POOL_MIN

Conexiones mínimas por grupo

2

OMNISQL_POOL_MAX

Conexiones máximas por grupo

10

OMNISQL_POOL_IDLE_TIMEOUT

Tiempo de espera de conexión inactiva (ms)

30000

OMNISQL_POOL_ACQUIRE_TIMEOUT

Tiempo de espera de adquisición de conexión (ms)

10000

Modo de solo lectura

Bloquea todas las operaciones de escritura. La herramienta execute_query solo permite sentencias SELECT, EXPLAIN, SHOW y DESCRIBE. Las herramientas de transacción están completamente deshabilitadas.

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp",
      "env": {
        "OMNISQL_READ_ONLY": "true"
      }
    }
  }
}

Lista blanca de conexiones

Restringe qué conexiones del espacio de trabajo son visibles. Acepta IDs de conexión o nombres para mostrar, separados por comas:

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp",
      "env": {
        "OMNISQL_ALLOWED_CONNECTIONS": "dev-postgres,staging-mysql"
      }
    }
  }
}

Deshabilitar herramientas específicas

{
  "mcpServers": {
    "omnisql": {
      "command": "omnisql-mcp",
      "env": {
        "OMNISQL_DISABLED_TOOLS": "drop_table,alter_table,write_query"
      }
    }
  }
}

Herramientas disponibles

Gestión de conexiones

  • list_connections - Listar todas las conexiones de base de datos

  • get_connection_info - Obtener detalles de la conexión

  • test_connection - Probar la conectividad

Operaciones de datos

  • execute_query - Ejecutar consultas de solo lectura (solo SELECT, EXPLAIN, SHOW, DESCRIBE)

  • write_query - Ejecutar INSERT/UPDATE/DELETE

  • export_data - Exportar a CSV/JSON

Gestión de esquemas

  • list_tables - Listar tablas y vistas

  • get_table_schema - Obtener estructura de tabla

  • create_table - Crear tablas

  • alter_table - Modificar tablas

  • drop_table - Eliminar tablas (requiere confirmación)

Transacciones

  • begin_transaction - Iniciar una nueva transacción

  • execute_in_transaction - Ejecutar consulta dentro de una transacción

  • commit_transaction - Confirmar una transacción

  • rollback_transaction - Revertir una transacción

Análisis de consultas

  • explain_query - Analizar el plan de ejecución de consultas

  • compare_schemas - Comparar esquemas entre dos conexiones

  • get_pool_stats - Obtener estadísticas del grupo de conexiones

Otros

  • get_database_stats - Estadísticas de la base de datos

  • append_insight - Almacenar notas de análisis

  • list_insights - Recuperar notas almacenadas

Seguridad

  • Cumplimiento de solo lectura: execute_query solo acepta sentencias de solo lectura (SELECT, EXPLAIN, SHOW, DESCRIBE, PRAGMA). Las operaciones de escritura deben usar write_query.

  • Validación de consultas: Bloquea DROP DATABASE, DROP SCHEMA, TRUNCATE, DELETE/UPDATE sin WHERE, GRANT, REVOKE y sentencias de gestión de usuarios.

  • Lista blanca de conexiones: Restringe qué conexiones se exponen a través de OMNISQL_ALLOWED_CONNECTIONS.

  • Filtrado de herramientas: Deshabilita cualquier herramienta a través de OMNISQL_DISABLED_TOOLS.

  • Sanitización de entradas: Los IDs de conexión y los identificadores SQL se sanitizan para evitar inyecciones.

  • Recomendación: Para uso en producción, utilice también un usuario de base de datos de solo lectura para una defensa en profundidad.

Soporte de formato de espacio de trabajo

Soporta ambos formatos de configuración escritos por clientes de base de datos compatibles con DBeaver:

  • Legado: Configuración XML en .metadata/.plugins/org.jkiss.dbeaver.core/

  • Moderno: Configuración JSON en General/.dbeaver/

Las credenciales se descifran automáticamente desde el archivo credentials-config.json del espacio de trabajo.

Desarrollo

git clone https://github.com/srthkdev/omnisql-mcp.git
cd omnisql-mcp
npm install
npm run build
npm test
npm run lint

Licencia

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