Datenbank-Abfragen
SQL-Datenbank-Abfragen und Schema-Informationen mit Unterstützung für mehrere Datenbanktypen
Der Database MCP-Server ermöglicht sichere SQL-Abfragen auf verschiedene Datenbanktypen mit schreibgeschütztem Zugriff.
Hauptfunktionen
Datenbank-Abfragen
query_database
: Führt schreibgeschützte SQL-Abfragen aus- Unterstützt SELECT, WITH, SHOW, DESCRIBE, EXPLAIN
- Blockiert automatisch modifizierende Befehle (INSERT, UPDATE, DELETE, etc.)
- Asynchrone Ausführung für optimale Performance
Schema-Informationen
get_database_schema
: Ruft Datenbank-Schema-Informationen ab- Listet alle Tabellen und Views
- Zeigt Spalten mit Datentypen
- Hilfreich für die Erkundung unbekannter Datenbanken
Konfiguration
Die Datenbank-URL wird über den X-Database-URL Header bereitgestellt. Der Server unterstützt Connection Pooling für bessere Performance bei mehreren Anfragen.
Unterstützte Datenbanken
Das Datenbank-Tool unterstützt die folgenden Datenbanktypen:
# PostgreSQL
postgresql://benutzer:passwort@localhost:5432/meinedatenbank
# MySQL
mysql://benutzer:passwort@localhost:3306/meinedatenbank
# MariaDB (verwendet MySQL-Treiber)
mysql://benutzer:passwort@localhost:3306/meinedatenbank
# Microsoft SQL Server
mssql://benutzer:passwort@localhost:1433/meinedatenbank
Sicherheitsempfehlungen
Für den Produktiveinsatz empfehlen wir dringend:
-
Erstellen Sie schreibgeschützte Datenbankbenutzer:
- PostgreSQL:
CREATE USER nurleser WITH PASSWORD 'passwort'; GRANT CONNECT ON DATABASE datenbankname TO nurleser; GRANT USAGE ON SCHEMA public TO nurleser; GRANT SELECT ON ALL TABLES IN SCHEMA public TO nurleser;
- MySQL/MariaDB:
CREATE USER 'nurleser'@'%' IDENTIFIED BY 'passwort'; GRANT SELECT ON datenbankname.* TO 'nurleser'@'%';
- SQL Server:
CREATE LOGIN nurleser WITH PASSWORD='passwort'; USE datenbankname; CREATE USER nurleser FOR LOGIN nurleser; EXEC sp_addrolemember 'db_datareader', 'nurleser';
- PostgreSQL:
-
Beschränken Sie den Netzwerkzugriff auf Datenbankserver mithilfe von Firewalls oder VPNs auf die folgende IP: 148.251.245.94
- Dies ist die IP-Adresse des MCP-Servers, der auf die Datenbank zugreift.
-
Verwenden Sie Connection Pooling für verbesserte Leistung bei mehreren Benutzern
-
Setzen Sie angemessene Timeouts, um lang laufende Abfragen zu verhindern