Cursor bietet integrierte Tools für Data-Science-Entwicklung mit reproduzierbaren Umgebungen, Notebook-Support und KI-gestützter Codeassistenz. Dieser Guide zeigt die wichtigsten Setup-Patterns für Workflows mit Python, R und SQL.

Notebook-Entwicklung

Für vollständige Notebook-Unterstützung lad die Jupyter-Erweiterung (ID: ms-toolsai.jupyter) runter, veröffentlicht von ms-toolsai.
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 Agents verstehen Data-Science-Bibliotheken wie pandas, NumPy, scikit-learn und SQL-Magic-Befehle

Datenbankintegration

Datenbanken lassen sich auf zwei Hauptwegen in Cursor einbinden: über MCP-Server und Extensions.
  • MCP-Server erlauben deinen Agents, sich mit deinen Datenbanken zu verbinden
  • Extensions integrieren deine IDE umfassend mit deinen Datenbanken

Über MCP

MCP-Server ermöglichen deinem Agent, Abfragen direkt gegen deine Datenbank auszuführen. So kann dein Agent entscheiden, die Datenbank zu befragen, die passende Query schreiben, den Befehl ausführen und die Ergebnisse analysieren – alles im Rahmen einer laufenden Aufgabe. Du kannst zum Beispiel 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 aus dem Editor auszuführen. Das reduziert Kontextwechsel zwischen Tools und ermöglicht KI-Unterstützung bei der Query-Optimierung.
-- Cursor schlägt Indexe, 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 Queries zu analysieren, Performance-Verbesserungen vorzuschlagen oder Visualisierungscode für Query-Ergebnisse zu generieren. Cursor versteht SQL-Kontext und kann basierend auf deiner Datenstruktur passende Diagrammtypen empfehlen.
Snowflake Extension

Datenvisualisierung

Die KI-Unterstützung von Cursor umfasst Datenvisualisierungsbibliotheken wie Matplotlib, Plotly und Seaborn. Der Agent kann Code für Visualisierungen generieren, damit du Daten schnell und unkompliziert explorieren kannst – und dabei ein reproduzierbares, leicht teilbares Artefakt erzeugst.
import plotly.express as px
import pandas as pd

# KI schlägt basierend auf den 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='Revenue vs Advertising Spend by 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-Completion-Unterstützung. Wie gehe ich mit großen Datasets um, die nicht in den Speicher passen? Verwende verteilte Computing-Bibliotheken wie Dask oder verbinde dich per Remote-SSH mit Spark-Clustern auf größeren Maschinen. Unterstützt Cursor R- und SQL-Dateien? Ja, Cursor bietet KI-Unterstützung und Syntax-Highlighting für R-Skripte (.R) und SQL-Dateien (.sql). Was ist der empfohlene Weg, Entwicklungsumgebungen zu teilen? Committe den .devcontainer-Ordner in die Versionsverwaltung. Teammitglieder können die Umgebung beim Öffnen des Projekts automatisch neu aufbauen. Wie debugge ich Datenverarbeitungs-Pipelines? Nutze den integrierten Debugger von Cursor mit Breakpoints in Python-Skripten oder setze Agent ein, um komplexe Daten­transformationen Schritt für Schritt zu analysieren und zu erklären.

Reproduzierbarkeit der Umgebung

Development-Container

Development-Container helfen dir, konsistente Laufzeiten und Abhängigkeiten über Teammitglieder und Bereitstellungsumgebungen hinweg sicherzustellen. Sie können umgebungsspezifische Bugs eliminieren und die Einarbeitungszeit für neue Teammitglieder reduzieren. Um einen Development-Container zu verwenden, erstelle zuerst einen .devcontainer-Ordner im Root deines Repositorys. Erstelle anschließend die Dateien devcontainer.json, Dockerfile und 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 Devcontainer automatisch und fordert dich auf, dein Projekt in einem Container neu zu öffnen. Alternativ kannst du manuell in einem Container neu öffnen, indem du die Befehlspalette (Ctrl+Shift+P) nutzt und nach Reopen in Container suchst. Development-Container bieten mehrere Vorteile:
  • Isolierung von Abhängigkeiten verhindert Konflikte zwischen Projekten
  • Reproduzierbare 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. Stelle eine Cloud-Instanz bereit oder greife auf einen On-Premises-Server mit den erforderlichen 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 konsistente Tooling-Setups, während du die Rechenressourcen bei Bedarf skalierst. Die gleiche Development-Container-Konfiguration funktioniert in lokalen und Remote-Umgebungen.