DuckDB MCP einrichten: lokale Datei und MotherDuck
Wählen Sie die Datenbankdatei ausdrücklich, damit die erste Abfrage den erwarteten Datenbestand erreicht.
Bereiten Sie eine Kopie einer kleinen DuckDB-Datei mit bekannten Testdaten vor. Notieren Sie den vollständigen Pfad, einen Tabellennamen und einen erwarteten Wert. Bewahren Sie die Originaldatei getrennt auf, während Sie die Verbindung einrichten.
Datei, Arbeitsspeicher oder MotherDuck?
Das MotherDuck-Projekt stellt mcp-server-motherduck für lokales DuckDB und MotherDuck bereit. Dokumentierte Vorgaben sind eine Datenbank im Arbeitsspeicher und Lesezugriff. Setzen Sie --db-path auf Ihre vorhandene Datei; das Beispiel aktiviert weder Schreiben noch den Datenbankwechsel.
Lokales Beispiel für VS Code
Installieren Sie uv und speichern Sie das Beispiel als .vscode/mcp.json. Ersetzen Sie den absoluten Dateipfad durch Ihre Testkopie. Unter Windows benötigen Sie einen absoluten Pfad mit korrekter JSON-Schreibweise, wie im Windows-Leitfaden beschrieben.
{
"servers": {
"duckdb": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-motherduck",
"--db-path",
"/ABSOLUTE/PATH/test.duckdb",
"--max-rows",
"20",
"--query-timeout",
"30"
]
}
}
}
Erst lesen, dann abgleichen
Starten Sie den Server und lesen Sie die verfügbaren Werkzeuge. Prüfen Sie bei einem Startfehler das Programm uvx und den Dateipfad getrennt.
Listen Sie die Tabellen auf und gleichen Sie die vorbereitete Tabelle ab. Eine leere Liste kann auf eine falsche Datei oder Datenbank hinweisen.
Lesen Sie die bekannte Zeile mit ausdrücklicher Spaltenauswahl und kleinem LIMIT. Vergleichen Sie die Werte mit Ihrer Notiz.
Schließen Sie den Client, verbinden Sie erneut und wiederholen Sie den Abruf derselben Datei. Halten Sie Paketversion und verwendeten Pfad fest.
MotherDuck ist ein eigener Verbindungsweg
MotherDuck verwendet --db-path md: und ein Token. Das Projekt dokumentiert für reine Leseverbindungen ein Read-scaling-Token. Ein reguläres Token benötigt den schreibfähigen Modus. Klären Sie die Tokenart vor der Anpassung des lokalen Beispiels; ergänzen Sie --read-write nicht allein zur Beseitigung eines Anmeldefehlers.
Lesezugriff auf eine Datenbank ist keine Dateisystem-Sandbox. DuckDB kann je nach Konfiguration auf Ressourcen außerhalb gewöhnlicher Tabellen zugreifen. Prüfen Sie die Sicherheitseinstellungen, bevor Sie einen Server anderen bereitstellen. Der Berechtigungsplaner hilft beim vorgesehenen Umfang.
Deklarierte Pakete und Quellen finden Sie in der DuckDB-Registersuche. Vergleichen Sie bei einer anderen lokalen Datenbank die SQLite-Einrichtung.
| Beobachtung | Prüfung |
|---|---|
| Keine Tabellen | Pfad und vorhandene Testdatei. |
| ENOENT | Programmpfad von uvx. |
| Unerwartete Werte | Dateikopie, Tabellenname und Filter. |
Dateipfad und Datenstand dokumentieren
Ein Pfad ist nur dann als Beleg nützlich, wenn klar ist, welcher Prozess ihn auflöst. Läuft Ihr Editor in einem Container, einer entfernten Entwicklungsumgebung oder unter WSL, prüfen Sie die dort sichtbare Datei. Eine gleich benannte Datei auf dem eigenen Desktop ist kein Nachweis dafür. Dokumentieren Sie für Ihren Test Dateigröße, Änderungszeitpunkt und die erwartete Tabelle. Öffnen Sie eine Kopie, wenn andere Programme den Bestand gleichzeitig bearbeiten. Vergleichen Sie Ergebnisse bei unverändertem Datenstand und wiederholen Sie nach einem Neustart dieselbe kleine Abfrage. Damit trennen Sie eine falsche Dateiauswahl von einem Problem in der Abfrage selbst.
- Warum sehe ich keine Tabellen?
- Prüfen Sie den ausdrücklich gesetzten Datenbankpfad. Eine Speicherdatenbank ist nicht Ihre vorhandene Datei.
- Braucht eine lokale Datei ein MotherDuck-Token?
- Das lokale Beispiel verwendet weder eine MotherDuck-Verbindung noch ein Token.
- Warum fehlt --read-write?
- Der erste Test ist ein Lesezugriff. Aktivieren Sie Schreiben erst, wenn der vorgesehene Ablauf es verlangt.
- Begrenzt Read-only jeden lokalen Dateizugriff?
- Nein. Prüfen Sie die Sicherheitsoptionen von DuckDB und die Rechte des laufenden Prozesses.
Herstellerdokumentation am 2. Oktober 2026 geprüft. Kein angemeldeter Kontotest.
- MotherDuck: MCP server
Abrufbefehl anzeigen
curl -s https://github.com/motherduckdb/mcp-server-motherduck - DuckDB: Securing DuckDB
Abrufbefehl anzeigen
curl -s https://duckdb.org/docs/stable/operations_manual/securing_duckdb/overview - VS Code: MCP configuration
Abrufbefehl anzeigen
curl -s https://code.visualstudio.com/docs/agent-customization/mcp-servers