Was ist database-mcp (cocaxcode)?
database-mcp, auf npm als @cocaxcode/database-mcp vom GitHub-Nutzer cocaxcode veröffentlicht, macht aus einem MCP-Client eine kleine Datenbank-Werkbank für PostgreSQL, MySQL und SQLite. Verbindungen werden einmal gespeichert und nach Projektverzeichnis gruppiert, sodass ein Agent in einem Repo nur die Datenbanken dieses Projekts sieht. Rund um die Abfrage-Tools kommen eine Schemasuche in drei Stufen, EXPLAIN, ein Abfrageverlauf pro Projekt, Snapshots vor jeder Änderung, die Umkehr-SQL zum Rückgängigmachen erzeugen, SQL-Dumps mit Wiederherstellung und eine Ergebniskompression hinzu, die breite Zellen kürzt, um Kontext zu sparen.
Der Code registriert 34 Tools und 2 Schema-Ressourcen (das README nennt 33, der Eintrag im MCP-Registry 19). Er läuft nur über stdio und lädt den Treiber postgres, mysql2 oder sql.js, den du global installierst. Das Repo wurde im März 2026 angelegt, hat 3 GitHub-Sterne und 41 Commits und wurde zuletzt am 26. August 2026 geändert; die neueste Version auf npm ist 0.3.4 vom 21. April 2026, und das Paket wurde im Monat bis zum 10. November 330-mal heruntergeladen.
database-mcp (cocaxcode) installieren
npx -y @cocaxcode/database-mcp@latestLohnt sich database-mcp (cocaxcode)?
Die Funktionen passen gut zum eigenen Rechner eines Entwicklers. Verbindungen bleiben über Sitzungen erhalten und folgen dem Projektverzeichnis, Leseabfragen bekommen ein LIMIT 100, Zellen über 500 Bytes werden mit einer Markierung gekürzt, und ein Cache mit 20 Plätzen lässt den Agenten das volle Ergebnis später abrufen, ohne die Abfrage erneut auszuführen. Vor jedem INSERT, UPDATE oder DELETE werden die betroffenen Zeilen gesichert, damit rollback_apply die Änderung umkehren kann; DDL wird protokolliert, lässt sich aber nicht rückgängig machen.
Das Sicherheitsmodell ist schwächer, als das README sagt. Das README verspricht, dass zerstörerische Operationen ein ausdrückliches confirm: true brauchen, doch nach unserer Lektüre des Quellcodes hat execute_mutation keinen solchen Parameter und führt ein DELETE oder DROP sofort aus; nur conn_delete, rollback_apply und db_restore fragen nach einer Bestätigung, und dieses Flag setzt das Modell selbst. Neue Verbindungen sind standardmäßig schreibgeschützt, was richtig ist, aber mit conn_set kann der Agent eine Verbindung mit einem einzigen Tool-Aufruf auf Lesen und Schreiben umstellen.
Der Schreibschutz selbst beruht auf einem Klassifizierer, der nur das erste Schlüsselwort der Anweisung prüft. Der PostgreSQL-Treiber schickt SQL ohne Parameter über das einfache Protokoll von postgres.js, und der SQLite-Treiber nutzt exec von sql.js; beide führen mehrere Anweisungen in einem Aufruf aus, sodass ein String, der mit SELECT beginnt, nach einem Semikolon ein DELETE mitführen kann. explain_query mit analyze auf true überspringt die Schreibschutzprüfung ganz, und unter PostgreSQL führt EXPLAIN ANALYZE die erklärte Anweisung tatsächlich aus. Eine Prompt Injection, versteckt in einer Zeile, die der Agent gerade gelesen hat, könnte beide Wege nutzen. Der MySQL-Treiber verwendet Prepared Statements und nimmt keine gestapelten Abfragen an.
Zugangsdaten bleiben lokal, in JSON-Dateien mit Rechten nur für den Eigentümer unter ~/.database-mcp, und conn_get maskiert Passwörter; conn_export mit include_secrets gibt sie im Klartext in den Kontext des Modells. Verlauf, Rollback-Snapshots mit alten Zeilenwerten und vollständige Dumps landen im Ordner .database-mcp des Projekts, der aus der Versionsverwaltung herausbleiben muss. Tool-Beschreibungen und Server-Anweisungen sind auf Spanisch verfasst, was Modelle bewältigen, englischsprachige Prüfer von Agenten-Logs aber vielleicht nicht.
Unser Fazit: Für eine SQLite-Datei oder ein lokales Wegwerf-Postgres sind die Rückgängig- und Verlaufs-Tools eine angenehme Verbesserung gegenüber einem bloßen SQL-Runner. Für alles, was zählt, ist DBHub oder Microsofts Postgres-Server hinter einem Datenbanknutzer, der nur SELECT darf, die sicherere Anordnung, denn dort sagt die Datenbank nein und nicht eine Schlüsselwortprüfung.
Wo es sich lohnt
Ein Einzelentwickler, der ein Nebenprojekt auf SQLite baut
Testdaten einspielen, Schemaänderungen ausprobieren und Fehler aus Claude Code heraus rückgängig machen
Lege eine Lese-Schreib-Verbindung zur lokalen .db-Datei an, lass den Agenten Zeilen einfügen und ändern und rufe rollback_apply auf, wenn eine Änderung schiefgeht. Kostenlos; führe vor jedem DDL db_dump aus, weil sich Schemaänderungen nicht zurückrollen lassen.
Ein freiberuflicher Backend-Entwickler mit mehreren Kundenprojekten
Den Agenten für jedes Repo die richtige lokale Datenbank wählen lassen, ohne neu zu konfigurieren
Lege pro Kunde eine Verbindungsgruppe an, mit dem Projektverzeichnis als Geltungsbereich und einer Entwicklungsdatenbank als Standard. Der Agent sieht nur die Verbindungen dieses Kunden; Produktionsverbindungen lässt du besser ganz aus dem Tool heraus.
Bevor du dich festlegst
- Einrichtung
- claude mcp add --scope user database -- npx -y @cocaxcode/database-mcp@latest, dazu npm install -g postgres, mysql2 oder sql.js für die genutzte Engine; Node 20 oder neuer. Dokumentierte Konfigurationen für Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Codex CLI und Gemini CLI. Verbindungen legt man an, indem man den Agenten darum bittet, daher dauert die erste Abfrage ein paar Minuten.
- Integrationen
- 34 Tools im Code: 13 für Verbindungen, 7 für Gruppen, search_schema, execute_query, execute_mutation, explain_query, inspect_last_query, drei für Dumps, zwei für Rollback, zwei für den Verlauf und zwei für die Konfiguration, dazu die Ressourcen db://schema und db://tables/{tableName}/schema. Nur stdio; kein HTTP-Transport, also kein Netzwerkport.
- Daten und Datenschutz
- Alles läuft lokal; Abfrageergebnisse gehen an deinen Modellanbieter. Zugangsdaten liegen unverschlüsselt in JSON-Dateien unter ~/.database-mcp/connections mit Rechten nur für den Eigentümer; conn_export kann sie im Klartext zurückgeben. Der Ordner .database-mcp im Projekt enthält den Verlauf (bis zu 5.000 Einträge), Rollback-Snapshots mit Zeilendaten (bis zu 1.000) und vollständige SQL-Dumps; aktuelle Ergebnisse werden eine Stunde lang auf der Festplatte zwischengespeichert. Zeilen, die der Agent liest, können Prompt Injection enthalten, und der Schreibschutz verhindert einen daraus folgenden Schreibzugriff unter PostgreSQL oder SQLite nicht zuverlässig.
- Kosten im großen Maßstab
- Kostenlos; Kosten entstehen durch Datenbanklast und Kontext. Das Standard-LIMIT 100 und die Grenze von 500 Bytes pro Zelle halten typische Ergebnisse klein; EXPLAIN ANALYZE und UNION-Abfragen ohne Limit, die diese Grenze umgehen, nicht.
- Grenzen
- Keine eigenen Einstellungen für SSH-Tunnel oder Zertifikate, kein Abfrage-Timeout und nur drei Engines. Die Version 0.3.5 im Repo ist nicht auf npm. Schreibschutz und Bestätigung hängen von der Mitwirkung des Modells ab, nicht von Datenbankrechten.
Was gut ist
- Gespeicherte Verbindungen, nach Projektverzeichnis gruppiert
- Snapshots vor jeder Änderung mit Rollback per Umkehr-SQL
- Automatisches LIMIT 100 und Zellkürzung sparen Kontext
- Verbindungen sind standardmäßig schreibgeschützt
Was nicht
- Keine Bestätigung bei execute_mutation, entgegen dem README
- Schreibschutz per gestapelten Anweisungen und EXPLAIN ANALYZE umgehbar
- Der Agent kann eine Verbindung selbst auf Lesen und Schreiben stellen
- Drei Sterne, ein Entwickler, kein npm-Release seit April 2026
Am besten für
Einzelentwickler, die einen Agenten eine lokale SQLite- oder Entwicklungs-Postgres-Datenbank mit Rückgängig-Funktion und Verlauf erkunden und bearbeiten lassen wollen.
Alternativen zu database-mcp (cocaxcode)
database-mcp (cocaxcode): häufige Fragen
- Lohnt sich database-mcp (cocaxcode)?
- Durchdachte Werkbank-Funktionen stehen auf Sicherheitsversprechen, die der Code nicht hält, also gehört das Tool an eine Laptop-Datenbank und nirgends in die Nähe der Produktion. Wir bewerten es mit 2.9 von 5.
- Was kostet database-mcp (cocaxcode)?
- Kostenlos und Open Source (MIT).
- Welche Nachteile hat database-mcp (cocaxcode)?
- Keine Bestätigung bei execute_mutation, entgegen dem README; Schreibschutz per gestapelten Anweisungen und EXPLAIN ANALYZE umgehbar; Der Agent kann eine Verbindung selbst auf Lesen und Schreiben stellen; Drei Sterne, ein Entwickler, kein npm-Release seit April 2026.
- Für wen eignet sich database-mcp (cocaxcode)?
- Einzelentwickler, die einen Agenten eine lokale SQLite- oder Entwicklungs-Postgres-Datenbank mit Rückgängig-Funktion und Verlauf erkunden und bearbeiten lassen wollen.
- Was kostet database-mcp (cocaxcode) für ein Team oder im Produktivbetrieb?
- Kostenlos; Kosten entstehen durch Datenbanklast und Kontext. Das Standard-LIMIT 100 und die Grenze von 500 Bytes pro Zelle halten typische Ergebnisse klein; EXPLAIN ANALYZE und UNION-Abfragen ohne Limit, die diese Grenze umgehen, nicht.
- Ist database-mcp (cocaxcode) sicher für Firmendaten?
- Alles läuft lokal; Abfrageergebnisse gehen an deinen Modellanbieter. Zugangsdaten liegen unverschlüsselt in JSON-Dateien unter ~/.database-mcp/connections mit Rechten nur für den Eigentümer; conn_export kann sie im Klartext zurückgeben. Der Ordner .database-mcp im Projekt enthält den Verlauf (bis zu 5.000 Einträge), Rollback-Snapshots mit Zeilendaten (bis zu 1.000) und vollständige SQL-Dumps; aktuelle Ergebnisse werden eine Stunde lang auf der Festplatte zwischengespeichert. Zeilen, die der Agent liest, können Prompt Injection enthalten, und der Schreibschutz verhindert einen daraus folgenden Schreibzugriff unter PostgreSQL oder SQLite nicht zuverlässig.
- Was sind die besten Alternativen zu database-mcp (cocaxcode)?
- Die nächsten Alternativen, die wir getestet haben, sind DBHub, Postgres MCP Server (Microsoft), Faucet und MCP Toolbox for Databases.
Antworten geprüft am 11. Nov. 2026.