Zum Hauptinhalt springen
Cursor bietet integrierte Tools für Data-Science-Entwicklung: reproduzierbare Umgebungen, Notebook-Support und KI-gestützte Code-Hilfe. Dieser Guide behandelt essenzielle Setup-Patterns für Python-, R- und SQL-Workflows.

Notebook-Entwicklung

Für vollständige Notebook-Unterstützung lade die Jupyter-Erweiterung (ID: ms-toolsai.jupyter) von ms-toolsai herunter.
Cursor unterstützt sowohl .ipynb- als auch .py-Dateien mit integrierter Zellausführung. Tab, Inline Edit und Agents funktionieren in Notebooks genauso wie in anderen Code-Dateien. Wichtige Funktionen:
  • Inline-Zellausführung führt Code direkt in der Editoroberfläche aus
  • Tab, Inline Edit und Agent verstehen Data-Science-Bibliotheken, einschließlich pandas, NumPy, scikit-learn und SQL-Magic-Befehlen

Datenbankintegration

Datenbanken lassen sich auf zwei Hauptwegen mit Cursor verbinden: über MCP-Server und Extensions.
  • MCP-Server ermöglichen deinen Agents, eine Verbindung zu deinen Datenbanken herzustellen
  • Extensions integrieren deine gesamte IDE mit deinen Datenbanken

Über MCP

MCP-Server erlauben deinem Agent, Abfragen direkt gegen deine Datenbank auszuführen. So kann dein Agent entscheiden, deine Datenbank zu queryen, die passende Abfrage zu schreiben, den Befehl auszuführen und die Ergebnisse zu analysieren – alles als Teil einer laufenden Aufgabe. Zum Beispiel kannst du eine Postgres-Datenbank mit deiner Cursor-Instanz verbinden, indem du die folgende MCP-Konfiguration zu Cursor hinzufügst:
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
Mehr zu MCP findest du in unserer MCP-Dokumentation.

Über Extensions

Installiere datenbankspezifische Extensions (PostgreSQL, BigQuery, SQLite, Snowflake), um Queries direkt im Editor auszuführen. Das spart Kontextwechsel zwischen Tools und ermöglicht KI-Unterstützung bei der Query-Optimierung.
-- Cursor schlägt Indizes, Window-Funktionen und Query-Optimierungen vor
SELECT
    user_id,
    event_type,
    COUNT(*) as event_count,
    RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as frequency_rank
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type;
Nutze Agents, um langsame Abfragen zu analysieren, Leistungsverbesserungen vorzuschlagen oder Visualisierungscode für Abfrageergebnisse zu erzeugen. Cursor versteht den SQL-Kontext und kann basierend auf deiner Datenstruktur passende Diagrammtypen empfehlen.
Snowflake Extension

Datenvisualisierung

Cursors KI-Unterstützung umfasst Datenvisualisierungsbibliotheken wie Matplotlib, Plotly und Seaborn. Der Agent kann Code für Datenvisualisierung generieren, sodass du Daten schnell und einfach erkunden kannst – und dabei ein reproduzierbares, leicht teilbares Artefakt entsteht.
import plotly.express as px
import pandas as pd

# Die KI schlägt auf Basis der Datenspalten passende Diagrammtypen vor
df = pd.read_csv('sales_data.csv')
fig = px.scatter(df, x='advertising_spend', y='revenue',
                 color='region', size='customer_count',
                 title='Umsatz vs. Werbeausgaben nach Region')
fig.show()

Häufig gestellte Fragen

Kann ich vorhandene Jupyter-Notebooks verwenden? Ja, Cursor öffnet .ipynb-Dateien mit vollständiger Zellausführung und KI-gestützter Autovervollständigung. Wie gehe ich mit großen Datensätzen um, die nicht in den Speicher passen? Verwende verteilte Computing-Bibliotheken wie Dask oder verbinde dich per Remote-SSH mit größeren Maschinen und Spark-Clustern. Unterstützt Cursor R- und SQL-Dateien? Ja, Cursor bietet KI-Unterstützung und Syntaxhervorhebung für R-Skripte (.R) und SQL-Dateien (.sql). Was ist der empfohlene Weg, Entwicklungsumgebungen zu teilen? Committe den Ordner .devcontainer in die Versionsverwaltung. Teammitglieder können die Umgebung beim Öffnen des Projekts automatisch neu aufsetzen. Wie debugge ich Datenverarbeitungspipelines? Verwende den integrierten Debugger von Cursor mit Breakpoints in Python-Skripten, oder nutze Agent, um komplexe Datentransformationen Schritt für Schritt zu analysieren und zu erklären.

Reproduzierbarkeit der Umgebung

Entwicklungscontainer

Entwicklungscontainer helfen dir, einheitliche Runtimes und Abhängigkeiten über Teammitglieder und Deploy-Umgebungen hinweg sicherzustellen. Sie können umgebungsspezifische Bugs eliminieren und die Einarbeitungszeit für neue Teammitglieder verkürzen. Um einen Entwicklungscontainer zu verwenden, leg zuerst einen Ordner .devcontainer im Root deines Repos an. Erstelle anschließend eine devcontainer.json, ein Dockerfile und eine requirements.txt.
// .devcontainer/devcontainer.json
{
  "name": "ds-env",
  "build": { "dockerfile": "Dockerfile" },
  "features": {
    "ghcr.io/devcontainers/features/python:1": { "version": "3.11" }
  },
  "postCreateCommand": "pip install -r requirements.txt"
}
# .devcontainer/Dockerfile
FROM mcr.microsoft.com/devcontainers/python:3.11
COPY requirements.txt .
RUN pip install --upgrade pip && \
    pip install -r requirements.txt
# requirements.txt
pandas==2.3.0
numpy
# füge weitere Abhängigkeiten hinzu, die du für dein Projekt brauchst
Cursor erkennt den Dev Container automatisch und fordert dich auf, dein Projekt in einem Container neu zu öffnen. Alternativ kannst du die Command Palette (Ctrl+Shift+P) nutzen und nach Reopen in Container suchen, um das Projekt manuell in einem Container neu zu öffnen. Entwicklungscontainer bieten mehrere Vorteile:
  • Isolierte Abhängigkeiten verhindern Konflikte zwischen Projekten
  • Reprodizierbare Builds sorgen für konsistentes Verhalten in Entwicklungs- und Produktionsumgebungen
  • Vereinfachtes Onboarding ermöglicht neuen Teammitgliedern, ohne manuelle Einrichtung sofort loszulegen

Remote-Entwicklung mit SSH

Wenn deine Arbeit zusätzliche Rechenressourcen, GPUs oder Zugriff auf private Datensätze erfordert, verbinde dich mit Remote-Maschinen, während du deine lokale Entwicklungsumgebung beibehältst.
  1. Bereitstelle eine Cloud-Instanz oder greife auf einen On-Premises-Server mit den benötigten Ressourcen zu
  2. Klone dein Repository auf die Remote-Maschine, einschließlich der .devcontainer-Konfiguration
  3. Verbinde dich über Cursor: Ctrl+Shift+P → „Remote-SSH: Connect to Host“
Dieser Ansatz erhält ein konsistentes Tooling, während die Rechenressourcen bei Bedarf skaliert werden. Die gleiche Entwicklungscontainer-Konfiguration funktioniert sowohl in lokalen als auch in Remote-Umgebungen.
I