Integrations
Provides Docker container deployment options for running the DBHub server with configurable database connections and transport options.
Supports connecting to DuckDB databases to explore tables, access schema information, and perform read-only SQL queries with safety measures.
Provides access to MySQL databases for browsing tables, viewing schema information, and executing read-only SQL queries with safety protections.
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.
Unterstützte Matrix
Datenbankressourcen
Ressourcenname | URI-Format | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
---|---|---|---|---|---|---|---|
Schemata | db://schemas | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tabellen_im_Schema | db://schemas/{schemaName}/tables | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tabellenstruktur im Schema | db://schemas/{schemaName}/tables/{tableName} | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Indizes_in_Tabelle | db://schemas/{schemaName}/tables/{tableName}/indexes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Prozeduren_im_Schema | db://schemas/{schemaName}/procedures | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Prozedurdetails im Schema | db://schemas/{schemaName}/procedures/{procedureName} | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
Datenbanktools
Werkzeug | Befehlsname | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
---|---|---|---|---|---|---|---|
SQL ausführen | execute_sql | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Listenkonnektoren | list_connectors | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Eingabeaufforderungsfunktionen
Prompt | Befehlsname | PostgreSQL | MySQL | MariaDB | SQL Server | SQLite | Orakel |
---|---|---|---|---|---|---|---|
SQL generieren | generate_sql | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
DB-Elemente erklären | explain_db | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
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
stdio
als 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 | sslmode=disable | sslmode=require | 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 Sie Ihre 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):Copy
- Umgebungsvariable (zweite Priorität):Copy
- Umgebungsdatei (dritte Priorität):
- Für die Entwicklung: Erstellen Sie
.env.local
mit Ihrem DSN - Für die Produktion: Erstellen Sie
.env
mit Ihrem DSN GXP14
- Für die Entwicklung: Erstellen Sie
[!WARNING] Verwenden Sie bei der Ausführung in Docker
host.docker.internal
anstelle vonlocalhost
, 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 | mysql://[user]:[password]@[host]:[port]/[database] | mysql://user:password@localhost:3306/dbname?sslmode=disable |
MariaDB | mariadb://[user]:[password]@[host]:[port]/[database] | mariadb://user:password@localhost:3306/dbname?sslmode=disable |
PostgreSQL | postgres://[user]:[password]@[host]:[port]/[database] | postgres://user:password@localhost:5432/dbname?sslmode=disable |
SQL Server | sqlserver://[user]:[password]@[host]:[port]/[database] | sqlserver://user:password@localhost:1433/dbname?sslmode=disable |
SQLite | sqlite:///[path/to/file] oder sqlite::memory: | sqlite:///path/to/database.db , sqlite:C:/Users/YourName/data/database.db (windows) oder sqlite::memory: |
Orakel | oracle://[user]:[password]@[host]:[port]/[service_name] | oracle://username:password@localhost:1521/service_name?sslmode=disable |
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_DIR
auf 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:Copy
- sse – für Browser- und Netzwerkclients:Copy
Befehlszeilenoptionen
Option | Beschreibung | Standard |
---|---|---|
Demo | Im Demomodus mit einer Beispiel-Mitarbeiterdatenbank ausführen | false |
dsn | Datenbankverbindungszeichenfolge | Erforderlich, wenn nicht im Demomodus |
Transport | Transportmodus: stdio oder sse | stdio |
Hafen | HTTP-Server-Port (nur anwendbar bei Verwendung --transport=sse ) | 8080 |
schreibgeschützt | Beschränken Sie die SQL-Ausführung auf schreibgeschützte Vorgänge | false |
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:Copy
- Im Entwicklungsmodus ausführen:Copy
- Für die Produktion erstellen:Copy
Debuggen mit MCP Inspector
stdio
SSE
Stellen Sie eine Verbindung zum DBHub-Server-Endpunkt /sse
her
Mitwirkende
Sternengeschichte
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Universeller Datenbank-MCP-Server mit Verbindung zu MySQL, PostgreSQL, SQLite, DuckDB usw.
Related Resources
Related MCP Servers
- -securityFlicense-qualityAn MCP server that provides safe, read-only access to SQLite databases through MCP. This server is built with the FastMCP framework, which enables LLMs to explore and query SQLite databases with built-in safety features and query validation.Last updated -21Python
- -securityAlicense-qualityAn MCP server for MotherDuck and local DuckDB.Last updated -359PythonMIT License
- -securityAlicense-qualityMCP to access any database accessible via JDBC such as Postgres, Oracle, mysql, mariadb, sqlite etc.Last updated -103Apache 2.0
- AsecurityAlicenseAqualityAn MCP server that provides read-only access to MySQL databases.Last updated -469517JavaScriptMIT License