Custom Database

Leichtgewichtiger SQL-Connector für schnelle Datenbank-Abfragen und Schema-Informationen

Der Custom-Database-Connector 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. Erstelle 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änke den Netzwerkzugriff auf Datenbankserver mithilfe von Firewalls oder VPNs auf die folgenden IP-Adressen:

    • 148.251.245.94
    • 46.4.174.170
    • 178.63.170.53
    • 178.63.170.52

    Dies sind die IP-Adressen der MCP-Server, die auf die Datenbank zugreifen. Gib alle vier Adressen frei, damit die Verbindung zuverlässig funktioniert.

  3. Verwende Connection Pooling für verbesserte Leistung bei mehreren Benutzern

  4. Setze angemessene Timeouts, um lang laufende Abfragen zu verhindern

War diese Seite hilfreich?