Zum Inhalt springen

Blog

DuckDB MCP einrichten: lokale Datei und MotherDuck

Wählen Sie die Datenbankdatei ausdrücklich, damit die erste Abfrage den erwarteten Datenbestand erreicht.

Veröffentlicht am · von tracevero · Lesezeit 3 Minuten (532 Wörter)

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"
      ]
    }
  }
}
Die gewählte Datei prüfen 1. Pfad test.duckdb 2. Tabelle SELECT 3. Abgleich Bekannter Wert
Vorgeschlagene Prüfung in Ihrer eigenen Umgebung.

Erst lesen, dann abgleichen

  1. Starten Sie den Server und lesen Sie die verfügbaren Werkzeuge. Prüfen Sie bei einem Startfehler das Programm uvx und den Dateipfad getrennt.

  2. Listen Sie die Tabellen auf und gleichen Sie die vorbereitete Tabelle ab. Eine leere Liste kann auf eine falsche Datei oder Datenbank hinweisen.

  3. Lesen Sie die bekannte Zeile mit ausdrücklicher Spaltenauswahl und kleinem LIMIT. Vergleichen Sie die Werte mit Ihrer Notiz.

  4. 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.

Fehler eingrenzen
BeobachtungPrüfung
Keine TabellenPfad und vorhandene Testdatei.
ENOENTProgrammpfad von uvx.
Unerwartete WerteDateikopie, 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.

  1. MotherDuck: MCP server
    Abrufbefehl anzeigencurl -s https://github.com/motherduckdb/mcp-server-motherduck
  2. DuckDB: Securing DuckDB
    Abrufbefehl anzeigencurl -s https://duckdb.org/docs/stable/operations_manual/securing_duckdb/overview
  3. VS Code: MCP configuration
    Abrufbefehl anzeigencurl -s https://code.visualstudio.com/docs/agent-customization/mcp-servers

Weiter zur Anwendung

Alle Beiträge

tracevero · https://tracevero.de/blog/duckdb-mcp-einrichten