Kaggle MCP-Server (Model Context Protocol)
Dieses Repository enthält einen MCP-Server (Model Context Protocol) ( server.py ), der mit der Bibliothek fastmcp erstellt wurde. Er interagiert mit der Kaggle-API und bietet Tools zum Suchen und Herunterladen von Datensätzen sowie eine Eingabeaufforderung zum Generieren von EDA-Notebooks.
Projektstruktur
server.py: Die FastMCP-Serveranwendung. Sie definiert Ressourcen, Tools und Eingabeaufforderungen für die Interaktion mit Kaggle..env.example: Eine Beispieldatei für Umgebungsvariablen (Kaggle-API-Anmeldeinformationen). Benennen Sie die Datei in.envum und geben Sie Ihre Daten ein.requirements.txt: Listet die erforderlichen Python-Pakete auf.pyproject.toml&uv.lock: Projektmetadaten und gesperrte Abhängigkeiten füruvPaketmanager.datasets/: Standardverzeichnis, in dem heruntergeladene Kaggle-Datensätze gespeichert werden.
Related MCP server: Kaggle-MCP
Aufstellen
Klonen Sie das Repository:
git clone <repository-url> cd <repository-directory>Erstellen Sie eine virtuelle Umgebung (empfohlen):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venvAbhängigkeiten installieren: Verwenden von pip:
pip install -r requirements.txtOder mit UV:
uv syncRichten Sie die Kaggle-API-Anmeldeinformationen ein:
Methode 1 (empfohlen): Umgebungsvariablen
Erstellen Sie
.envDateiÖffnen Sie die
.envDatei und fügen Sie Ihren Kaggle-Benutzernamen und API-Schlüssel hinzu:KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_keySie erhalten Ihren API-Schlüssel auf Ihrer Kaggle-Kontoseite (
Account>API>Create New API Token). Dadurch wird einekaggle.jsonDatei mit Ihrem Benutzernamen und Schlüssel heruntergeladen.
Methode 2:
Laden Sie Ihre
kaggle.jsonDatei von Ihrem Kaggle-Konto herunter.Platzieren Sie die Datei
kaggle.jsonam erwarteten Speicherort (normalerweise~/.kaggle/kaggle.jsonunter Linux/macOS oderC:\Users\<Your User Name>\.kaggle\kaggle.jsonunter Windows). DiekaggleBibliothek erkennt diese Datei automatisch, wenn die Umgebungsvariablen nicht gesetzt sind.
Ausführen des Servers
Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiv ist.
Führen Sie den MCP-Server aus:
uv run kaggle-mcpDer Server wird gestartet und registriert seine Ressourcen, Tools und Eingabeaufforderungen. Sie können über einen MCP-Client oder kompatible Tools mit ihm interagieren.
Ausführen des Docker-Containers
1. Kaggle-API-Anmeldeinformationen einrichten
Für den Zugriff auf Kaggle-Datensätze sind für dieses Projekt Kaggle-API-Anmeldeinformationen erforderlich.
Gehen Sie zu https://www.kaggle.com/settings und klicken Sie auf „Neues API-Token erstellen“, um Ihre
kaggle.jsonDatei herunterzuladen.Öffnen Sie die Datei
kaggle.jsonund kopieren Sie Ihren Benutzernamen und Schlüssel in eine neue.envDatei im Projektstamm:
2. Erstellen Sie das Docker-Image
3. Führen Sie den Docker-Container mit Ihrer .env-Datei aus
Dadurch werden Ihre Kaggle-Anmeldeinformationen automatisch als Umgebungsvariablen in den Container geladen.
Serverfunktionen
Der Server stellt über das Model Context Protocol die folgenden Funktionen bereit:
Werkzeuge
search_kaggle_datasets(query: str):Sucht auf Kaggle nach Datensätzen, die der angegebenen Abfragezeichenfolge entsprechen.
Gibt eine JSON-Liste der 10 am besten übereinstimmenden Datensätze mit Details wie Referenz, Titel, Downloadanzahl und Datum der letzten Aktualisierung zurück.
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None):Lädt Dateien für einen bestimmten Kaggle-Datensatz herunter und entpackt sie.
dataset_ref: Die Dataset-Kennung im Formatusername/dataset-slug(z. B.kaggle/titanic).download_path(optional): Gibt an, wohin der Datensatz heruntergeladen werden soll. Wenn dieser Pfad weggelassen wird, wird standardmäßig./datasets/<dataset_slug>/relativ zum Speicherort des Serverskripts verwendet.
Eingabeaufforderungen
generate_eda_notebook(dataset_ref: str):Generiert eine für ein KI-Modell (wie Gemini) geeignete Eingabeaufforderung, um ein grundlegendes EDA-Notebook (Exploratory Data Analysis) für die angegebene Kaggle-Datensatzreferenz zu erstellen.
Die Eingabeaufforderung verlangt Python-Code zum Laden von Daten, zur Überprüfung fehlender Werte, zu Visualisierungen und zu grundlegenden Statistiken.
Verbindung zu Claude Desktop herstellen
Gehen Sie zu Claude > Einstellungen > Entwickler > Konfiguration bearbeiten > claude_desktop_config.json, um Folgendes einzuschließen:
Anwendungsbeispiel
Ein KI-Agent oder MCP-Client könnte folgendermaßen mit diesem Server interagieren:
Agent: „Durchsuchen Sie Kaggle nach Datensätzen zum Thema ‚Herzkrankheiten‘“
Der Server führt
Agent: „Laden Sie den Datensatz ‚user/heart-disease-dataset‘ herunter.“
Der Server führt
Agent: „Generieren Sie eine EDA-Notebook-Eingabeaufforderung für ‚user/heart-disease-dataset‘“
Der Server führt
Der Server gibt eine strukturierte Eingabeaufforderungsnachricht zurück.
Agent: (Sendet die Eingabeaufforderung an ein Code generierendes Modell) -> Empfängt EDA-Python-Code.