Tools

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:

  1. 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';
  2. 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.
  3. Verwenden Sie Connection Pooling für verbesserte Leistung bei mehreren Benutzern

  4. Setzen Sie angemessene Timeouts, um lang laufende Abfragen zu verhindern