DBHub ist ein universelles Datenbank-Gateway, das die Serverschnittstelle des Model Context Protocol (MCP) implementiert. Dieses Gateway ermöglicht MCP-kompatiblen Clients die Verbindung zu verschiedenen Datenbanken und deren Nutzung.
Demo-SSE-Endpunkt
https://demo.dbhub.ai/sse verbindet eine Beispiel-Mitarbeiterdatenbank . Sie können mit Cursor oder MCP Inspector darauf zeigen, um sie in Aktion zu sehen.

Related MCP server: Supabase MCP Server
Unterstützte Matrix
Datenbankressourcen
Ressourcenname | URI-Format | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
Schemata |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tabellen_im_Schema |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tabellenstruktur im Schema |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Indizes_in_Tabelle |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Prozeduren_im_Schema |
| ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Prozedurdetails im Schema |
| ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Datenbanktools
Werkzeug | Befehlsname | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
SQL ausführen |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Listenkonnektoren |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Eingabeaufforderungsfunktionen
Prompt | Befehlsname | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
SQL generieren |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
DB-Elemente erklären |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Installation
Docker
NPM
Hinweis: Der Demomodus enthält eine gebündelte SQLite-Beispieldatenbank „Mitarbeiter“ mit Tabellen für Mitarbeiter, Abteilungen, Gehälter und mehr.
Claude Desktop

Claude Desktop unterstützt nur
stdio-Transport https://github.com/orgs/modelcontextprotocol/discussions/16
Cursor

Cursor unterstützt sowohl
stdioals auchsse.Folgen Sie der Cursor-MCP-Anleitung und stellen Sie sicher, dass Sie den Agentenmodus verwenden.
Verwendung
SSL-Verbindungen
Sie können den SSL-Modus mit dem Parameter sslmode in Ihrer DSN-Zeichenfolge angeben:
Datenbank |
|
| Standardmäßiges SSL-Verhalten |
PostgreSQL | ✅ | ✅ | Zertifikatsüberprüfung |
MySQL | ✅ | ✅ | Zertifikatsüberprüfung |
MariaDB | ✅ | ✅ | Zertifikatsüberprüfung |
SQL Server | ✅ | ✅ | Zertifikatsüberprüfung |
Orakel | ✅ | ✅ | N/A (Oracle-Clientkonfiguration verwenden) |
SQLite | ❌ | ❌ | N/A (dateibasiert) |
SSL-Modusoptionen:
sslmode=disable: Die gesamte SSL/TLS-Verschlüsselung ist deaktiviert. Die Daten werden im Klartext übertragen.sslmode=require: Die Verbindung ist verschlüsselt, das Serverzertifikat wird jedoch nicht überprüft. Dies bietet Schutz vor Paket-Sniffing, jedoch nicht vor Man-in-the-Middle-Angriffen. Sie können dies für vertrauenswürdige, selbstsignierte Zertifizierungsstellen verwenden.
Ohne Angabe von sslmode verwenden die meisten Datenbanken standardmäßig die Zertifikatsüberprüfung, die das höchste Maß an Sicherheit bietet.
Anwendungsbeispiel:
Schreibgeschützter Modus
Sie können DBHub im schreibgeschützten Modus ausführen, wodurch die Ausführung von SQL-Abfragen auf schreibgeschützte Vorgänge beschränkt wird:
Im schreibgeschützten Modus sind nur schreibgeschützte SQL-Operationen zulässig.
Dies bietet eine zusätzliche Sicherheitsebene beim Herstellen einer Verbindung mit Produktionsdatenbanken.
Konfigurieren der Datenbankverbindung
Sie können DBHub im Demomodus mit einer Beispiel-Mitarbeiterdatenbank zum Testen verwenden:
Für echte Datenbanken ist ein Datenbankquellenname (DSN) erforderlich. Sie können diesen auf verschiedene Arten angeben:
Befehlszeilenargument (höchste Priorität):
npx @bytebase/dbhub --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"Umgebungsvariable (zweite Priorität):
export DSN="postgres://user:password@localhost:5432/dbname?sslmode=disable" npx @bytebase/dbhubUmgebungsdatei (dritte Priorität):
Für die Entwicklung: Erstellen Sie
.env.localmit Ihrem DSNFür die Produktion: Erstellen Sie
.envmit Ihrem DSN GXP14
Verwenden Sie bei der Ausführung in Dockerhost.docker.internal anstelle von localhost , um eine Verbindung mit Datenbanken herzustellen, die auf Ihrem Hostcomputer ausgeführt werden. Beispiel: mysql://user:password@host.docker.internal:3306/dbname
DBHub unterstützt die folgenden Datenbankverbindungszeichenfolgenformate:
Datenbank | DSN-Format | Beispiel |
MySQL |
|
|
MariaDB |
|
|
PostgreSQL |
|
|
SQL Server |
|
|
SQLite |
oder
|
,
oder
|
Orakel |
|
|
Orakel
Wenn der Fehler „NJS-138: Verbindungen zu dieser Datenbankserverversion werden von Node-OracleDB im Thin-Modus nicht unterstützt“ angezeigt wird, müssen Sie den Thick-Modus wie unten beschrieben verwenden.
Docker
Verwenden Sie bytebase/dbhub-oracle-thick anstelle des Docker-Images bytebase/dbhub .
npx
Laden Sie Oracle Instant Client für Ihre Plattform herunter und installieren Sie ihn
Legen Sie die Umgebungsvariable
ORACLE_LIB_DIRauf den Pfad Ihres Oracle Instant Client fest:
SQL Server
Zusätzliche Abfrageparameter:
Authentifizierung
authentication=azure-active-directory-access-token. Gilt nur bei Ausführung über Azure. Siehe DefaultAzureCredential .
Transport
stdio (Standard) – für die direkte Integration mit Tools wie Claude Desktop:
npx @bytebase/dbhub --transport stdio --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"sse – für Browser- und Netzwerkclients:
npx @bytebase/dbhub --transport sse --port 5678 --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"
Befehlszeilenoptionen
Option | Beschreibung | Standard |
Demo | Im Demomodus mit einer Beispiel-Mitarbeiterdatenbank ausführen |
|
dsn | Datenbankverbindungszeichenfolge | Erforderlich, wenn nicht im Demomodus |
Transport | Transportmodus:
oder
|
|
Hafen | HTTP-Server-Port (nur anwendbar bei Verwendung
) |
|
schreibgeschützt | Beschränken Sie die SQL-Ausführung auf schreibgeschützte Vorgänge |
|
Der Demomodus verwendet eine In-Memory-SQLite-Datenbank mit der Beispiel-Mitarbeiterdatenbank . Diese enthält Tabellen für Mitarbeiter, Abteilungen, Titel, Gehälter, Abteilungsmitarbeiter und Abteilungsleiter. Die Beispieldatenbank enthält SQL-Skripte zum Erstellen, Laden und Testen von Tabellen.
Entwicklung
Installieren Sie Abhängigkeiten:
pnpm installIm Entwicklungsmodus ausführen:
pnpm devFür die Produktion erstellen:
pnpm build pnpm start --transport stdio --dsn "postgres://user:password@localhost:5432/dbname?sslmode=disable"
Testen
Das Projekt verwendet Vitest zum Testen:
Tests ausführen:
pnpm testFühren Sie Tests im Überwachungsmodus aus:
pnpm test:watch
Pre-Commit-Hooks (für Entwickler)
Das Projekt enthält Pre-Commit-Hooks, um vor jedem Commit automatisch Tests auszuführen:
Richten Sie nach dem Klonen des Repository die Pre-Commit-Hooks ein:
./scripts/setup-husky.shDadurch wird sichergestellt, dass die Testsuite automatisch ausgeführt wird, wenn Sie einen Commit erstellen, und Commits werden verhindert, die Tests unterbrechen würden.
Debuggen mit MCP Inspector
stdio
SSE
Stellen Sie eine Verbindung zum DBHub-Server-Endpunkt /sse her