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

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 wie pandas, NumPy, scikit-learn und SQL-Magics

Datenbankintegration

Datenbanken können auf zwei Hauptwegen mit Cursor verbunden werden: über MCP-Server und Erweiterungen.
  • MCP-Server ermöglichen deinen Agents den Zugriff auf deine Datenbanken
  • Erweiterungen 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 befragen, die passende Query zu schreiben, den Befehl auszuführen und die Ergebnisse zu 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 Erweiterungen

Installiere datenbankspezifische Erweiterungen (PostgreSQL, BigQuery, SQLite, Snowflake), um Abfragen direkt aus dem Editor auszuführen. Das spart Kontextwechsel zwischen Tools und ermöglicht KI-Unterstützung bei der Query-Optimierung.
-- Cursor macht Vorschläge für Indizes, Window-Funktionen und Query-Optimierung
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, Performance-Verbesserungen vorzuschlagen oder Visualisierungscode für Abfrageergebnisse zu generieren. Cursor versteht den SQL-Kontext und kann basierend auf deiner Datenstruktur passende Diagrammtypen empfehlen.
Snowflake-Erweiterung

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 erkunden kannst – und dabei ein reproduzierbares, leicht teilbares Ergebnis erhältst.
import plotly.express as px
import pandas as pd

# Die 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. Wie gehe ich mit großen Datensätzen um, die nicht in den Arbeitsspeicher passen? Nutze 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? Checke den Ordner .devcontainer in die Versionsverwaltung ein. Teammitglieder können die Umgebung beim Öffnen des Projekts automatisch neu aufbauen. Wie debugge ich Datenverarbeitungspipelines? Nutze den integrierten Debugger von Cursor mit Breakpoints in Python-Skripten oder setze Agent ein, um komplexe Datentransformationen Schritt für Schritt zu analysieren und zu erklären.

Reproduzierbarkeit der Umgebung

Development-Container

Development-Container helfen dir, konsistente Runtimes und Abhängigkeiten über Teammitglieder und Deploy-Umgebungen hinweg sicherzustellen. Sie können umgebungsspezifische Bugs eliminieren und die Einarbeitungszeit für neue Teammitglieder reduzieren. Um einen Development-Container zu verwenden, leg zuerst einen Ordner .devcontainer im Root deines Repos an. 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 fragt dich, ob du dein Projekt in einem Container neu öffnen willst. Alternativ kannst du über die Command Palette (Ctrl+Shift+P) manuell im Container neu öffnen und nach Reopen in Container suchen. Development-Container bieten mehrere Vorteile:
  • Abhängigkeitsisolation verhindert Konflikte zwischen Projekten
  • Reproduzierbare Builds gewährleisten konsistentes Verhalten in Entwicklungs- und Produktionsumgebungen
  • Vereinfachtes Onboarding ermöglicht neuen Teammitgliedern einen sofortigen Start ohne manuelles Setup

Remote-Entwicklung mit SSH

Wenn deine Analyse zusätzliche Compute-Ressourcen, GPUs oder Zugriff auf private Datasets erfordert, verbinde dich mit Remote-Maschinen, während du deine lokale Entwicklungsumgebung beibehältst.
  1. Provisioniere eine Cloud-Instanz oder greif auf einen On-Prem-Server mit den benötigten Ressourcen zu
  2. Klone dein Repository auf die Remote-Maschine, inklusive der .devcontainer-Konfiguration
  3. Verbinde dich über Cursor: Ctrl+Shift+P → “Remote-SSH: Connect to Host”
Dieser Ansatz hält dein Tooling konsistent, während du Compute-Ressourcen nach Bedarf skalierst. Dieselbe Development-Container-Konfiguration funktioniert in lokalen und Remote-Umgebungen.