Skip to main content
Glama
srthkdev

DBeaver MCP Server

by srthkdev

OmniSQL MCP

Universeller Datenbank-MCP-Server — geben Sie KI-Assistenten Lese-/Schreibzugriff auf Ihre Datenbanken unter Verwendung von Verbindungen, die bereits in Ihrem lokalen DB-Client-Arbeitsbereich (DBeaver-kompatibel) gespeichert sind.

npm version License: MIT Node.js

Datenbankunterstützung

Nativ unterstützt (direkter Treiber, schnell):

  • PostgreSQL (via pg)

  • MySQL / MariaDB (via mysql2)

  • SQL Server / MSSQL (via mssql)

  • SQLite (via sqlite3 CLI)

Postgres-kompatibel (wird automatisch über den pg-Treiber geleitet):

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

Andere Datenbanken: Fallback auf ein externes CLI, das über OMNISQL_CLI_PATH konfiguriert wurde. Die Ergebnisse variieren je nach CLI.

Related MCP server: MySQL MCP Server

Funktionen

  • Wiederverwendung von Verbindungen, die bereits in Ihrem lokalen DB-Client-Arbeitsbereich konfiguriert sind — keine doppelte Einrichtung

  • Native Abfrageausführung für PostgreSQL, MySQL/MariaDB, SQLite, SQL Server

  • Verbindungspooling mit konfigurierbarer Poolgröße und Timeouts

  • Transaktionsunterstützung (BEGIN/COMMIT/ROLLBACK)

  • Analyse von Abfrageausführungsplänen (EXPLAIN)

  • Schemavergleich zwischen Verbindungen mit Generierung von Migrationsskripten

  • Schreibgeschützter Modus mit erzwungenem SELECT-only bei execute_query

  • Verbindungs-Whitelist zur Einschränkung der zugänglichen Datenbanken

  • Tool-Filterung zur Deaktivierung spezifischer Operationen

  • Abfragevalidierung zur Blockierung gefährlicher Operationen (DROP DATABASE, TRUNCATE, DELETE/UPDATE ohne WHERE)

  • Datenexport nach CSV/JSON

  • Sauberes Herunterfahren mit Bereinigung des Verbindungspools

Anforderungen

  • Node.js 18+

  • Ein lokaler DB-Client (DBeaver-kompatibel) mit mindestens einer konfigurierten Verbindung

Installation

npm install -g omnisql-mcp

Konfiguration

Claude Desktop

Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

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

Claude Code

Hinzufügen zu ~/.claude/settings.json:

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

Cursor

Hinzufügen zu Cursor Settings > MCP Servers:

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

Umgebungsvariablen

Variable

Beschreibung

Standard

OMNISQL_CLI_PATH

Pfad zum externen DB-Client-CLI (wird für Fallback bei nicht unterstützten Treibern verwendet)

Nicht gesetzt

OMNISQL_WORKSPACE

Pfad zum Arbeitsbereichsverzeichnis des lokalen DB-Clients

OS-Standard

OMNISQL_TIMEOUT

Abfrage-Timeout (ms)

30000

OMNISQL_DEBUG

Debug-Logging aktivieren

false

OMNISQL_READ_ONLY

Alle Schreiboperationen deaktivieren

false

OMNISQL_ALLOWED_CONNECTIONS

Kommagetrennte Whitelist von Verbindungs-IDs oder Namen

Alle

OMNISQL_DISABLED_TOOLS

Kommagetrennte Liste zu deaktivierender Tools

Keine

OMNISQL_POOL_MIN

Minimale Verbindungen pro Pool

2

OMNISQL_POOL_MAX

Maximale Verbindungen pro Pool

10

OMNISQL_POOL_IDLE_TIMEOUT

Timeout für inaktive Verbindungen (ms)

30000

OMNISQL_POOL_ACQUIRE_TIMEOUT

Timeout für den Erhalt einer Verbindung (ms)

10000

Schreibgeschützter Modus

Blockiert alle Schreiboperationen. Das execute_query-Tool erlaubt nur SELECT-, EXPLAIN-, SHOW- und DESCRIBE-Anweisungen. Transaktionstools sind vollständig deaktiviert.

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

Verbindungs-Whitelist

Schränkt ein, welche Arbeitsbereichsverbindungen sichtbar sind. Akzeptiert Verbindungs-IDs oder Anzeigenamen, kommagetrennt:

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

Spezifische Tools deaktivieren

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

Verfügbare Tools

Verbindungsverwaltung

  • list_connections - Alle Datenbankverbindungen auflisten

  • get_connection_info - Verbindungsdetails abrufen

  • test_connection - Konnektivität testen

Datenoperationen

  • execute_query - Schreibgeschützte Abfragen ausführen (nur SELECT, EXPLAIN, SHOW, DESCRIBE)

  • write_query - INSERT/UPDATE/DELETE ausführen

  • export_data - Export nach CSV/JSON

Schemamanagement

  • list_tables - Tabellen und Views auflisten

  • get_table_schema - Tabellenstruktur abrufen

  • create_table - Tabellen erstellen

  • alter_table - Tabellen ändern

  • drop_table - Tabellen löschen (erfordert Bestätigung)

Transaktionen

  • begin_transaction - Neue Transaktion starten

  • execute_in_transaction - Abfrage innerhalb einer Transaktion ausführen

  • commit_transaction - Transaktion bestätigen

  • rollback_transaction - Transaktion zurückrollen

Abfrageanalyse

  • explain_query - Abfrageausführungsplan analysieren

  • compare_schemas - Schemata zwischen zwei Verbindungen vergleichen

  • get_pool_stats - Statistiken des Verbindungspools abrufen

Sonstiges

  • get_database_stats - Datenbankstatistiken

  • append_insight - Analyse-Notizen speichern

  • list_insights - Gespeicherte Notizen abrufen

Sicherheit

  • Erzwingung des schreibgeschützten Modus: execute_query akzeptiert nur schreibgeschützte Anweisungen (SELECT, EXPLAIN, SHOW, DESCRIBE, PRAGMA). Schreiboperationen müssen write_query verwenden.

  • Abfragevalidierung: Blockiert DROP DATABASE, DROP SCHEMA, TRUNCATE, DELETE/UPDATE ohne WHERE, GRANT, REVOKE sowie Benutzerverwaltungsanweisungen.

  • Verbindungs-Whitelist: Schränkt über OMNISQL_ALLOWED_CONNECTIONS ein, welche Verbindungen freigegeben werden.

  • Tool-Filterung: Deaktivieren Sie jedes Tool über OMNISQL_DISABLED_TOOLS.

  • Eingabesanitisierung: Verbindungs-IDs und SQL-Bezeichner werden bereinigt, um Injektionen zu verhindern.

  • Empfehlung: Verwenden Sie für den Produktionseinsatz zusätzlich einen schreibgeschützten Datenbankbenutzer für eine tiefgreifende Verteidigung.

Unterstützung des Arbeitsbereichsformats

Unterstützt beide Konfigurationsformate, die von DBeaver-kompatiblen DB-Clients geschrieben werden:

  • Legacy: XML-Konfiguration in .metadata/.plugins/org.jkiss.dbeaver.core/

  • Modern: JSON-Konfiguration in General/.dbeaver/

Anmeldedaten werden automatisch aus der credentials-config.json des Arbeitsbereichs entschlüsselt.

Entwicklung

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

Lizenz

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