DuckDB MCP-Server
Eine Model Context Protocol (MCP)-Serverimplementierung, die es KI-Assistenten wie Claude ermöglicht, mit DuckDB zu interagieren, um leistungsstarke Datenanalysefunktionen zu nutzen.
🌟 Was ist der DuckDB MCP-Server?
Der DuckDB MCP Server verbindet KI-Assistenten über das Model Context Protocol (MCP) mit DuckDB – einer leistungsstarken analytischen Datenbank. Dies ermöglicht KI-Modellen:
Fragen Sie Daten direkt aus verschiedenen Quellen wie CSV, Parquet, JSON usw. ab.
Greifen Sie ohne komplexe Einrichtung auf Daten aus Cloud-Speichern (S3 usw.) zu
Führen Sie anspruchsvolle Datenanalysen mit SQL durch
Generieren Sie Dateneinblicke mit dem richtigen Kontext und Verständnis
Related MCP server: MCP Database Server
🚀 Hauptfunktionen
SQL-Abfragetool : Führen Sie jede SQL-Abfrage mit der leistungsstarken Syntax von DuckDB aus
Mehrere Datenquellen : Abfrage direkt von:
Lokale Dateien (CSV, Parquet, JSON usw.)
S3-Buckets und Cloud-Speicher
SQLite-Datenbanken
Alle anderen von DuckDB unterstützten Datenquellen
Auto-Connection Management : Automatische Datenbankdateierstellung und Verbindungsverwaltung
Intelligente Anmeldeinformationsverwaltung : Nahtlose Verwaltung von AWS/S3-Anmeldeinformationen
Dokumentationsressourcen : Integriertes DuckDB SQL und Datenimportreferenz für KI-Assistenten
📋 Voraussetzungen
Python 3.10+
Ein MCP-kompatibler Client (Claude Desktop, Cursor, VS Code mit Copilot usw.)
💻 Installation
Verwenden von pip
pip install duckdb-mcp-serverAus der Quelle
git clone https://github.com/mustafahasankhan/duckdb-mcp-server.git
cd duckdb-mcp-server
pip install -e .🔧 Konfiguration
Befehlszeilenoptionen
duckdb-mcp-server --db-path path/to/database.db [options]Erforderliche Parameter:
--db-path– Pfad zur DuckDB-Datenbankdatei (wird erstellt, falls nicht vorhanden)
Optionale Parameter:
--readonly– Im schreibgeschützten Modus ausführen (gibt einen Fehler aus, wenn die Datenbank nicht vorhanden ist)--s3-region– AWS S3-Region (Standard: verwendet die Umgebungsvariable AWS_DEFAULT_REGION)--s3-profile– AWS-Profil für S3-Anmeldeinformationen (Standard: verwendet AWS_PROFILE oder „default“)--creds-from-env– AWS-Anmeldeinformationen aus Umgebungsvariablen verwenden
🔌 Einrichten mit Claude Desktop
Installieren Sie Claude Desktop von claude.ai/download
Bearbeiten Sie die Konfigurationsdatei von Claude Desktop:
macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
Windows :%APPDATA%/Claude/claude_desktop_config.jsonFügen Sie die DuckDB MCP-Serverkonfiguration hinzu:
{
"mcpServers": {
"duckdb": {
"command": "duckdb-mcp-server",
"args": [
"--db-path",
"~/claude-duckdb/data.db"
]
}
}
}📊 Anwendungsbeispiel
Nach der Konfiguration können Sie Ihren KI-Assistenten bitten, Daten mit DuckDB zu analysieren:
"Load the sales.csv file and show me the top 5 products by revenue"Die KI generiert und führt das entsprechende SQL aus:
-- Load and query the CSV data
SELECT
product_name,
SUM(quantity * price) AS revenue
FROM read_csv('sales.csv')
GROUP BY product_name
ORDER BY revenue DESC
LIMIT 5;Arbeiten mit S3-Daten
Daten direkt aus S3-Buckets abfragen:
"Analyze the daily user signups from our analytics data in S3"Die KI generiert entsprechendes SQL zur Abfrage von S3:
SELECT
date_trunc('day', signup_timestamp) AS day,
COUNT(*) AS num_signups
FROM read_parquet('s3://my-analytics-bucket/signups/*.parquet')
GROUP BY day
ORDER BY day DESC;🌩️ Cloud-Speicherauthentifizierung
Der DuckDB MCP-Server verarbeitet die AWS-Authentifizierung in dieser Reihenfolge:
Explizite Anmeldeinformationen (wenn
--creds-from-envaktiviert ist)Anmeldeinformationen für benannte Profile (über
--s3-profile)Standard-Anmeldeinformationskette (Umgebung, gemeinsam genutzte Anmeldeinformationsdatei usw.)
🛠️ Entwicklung
# Clone the repository
git clone https://github.com/yourusername/duckdb-mcp-server.git
cd duckdb-mcp-server
# Set up a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest📜 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
🙏 Beitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.