Cursor предоставляет интегрированные инструменты для data science-разработки: воспроизводимые окружения, поддержку ноутбуков и ассистирование при написании кода на базе ИИ. В этом гайде разобраны ключевые паттерны настройки для воркфлоу на Python, R и SQL.

Разработка в ноутбуках

Для полноценной поддержки ноутбуков скачай расширение Jupyter (id: ms-toolsai.jupyter), опубликованное ms-toolsai.
Cursor поддерживает файлы .ipynb и .py с встроенным выполнением ячеек. Tab, Inline Edit и Agents работают в ноутбуках так же, как и в других файлах кода. Ключевые возможности:
  • Встроенное выполнение ячеек запускает код прямо в интерфейсе редактора
  • Tab, Inline Edit и Agent понимают библиотеки для анализа данных, включая pandas, NumPy, scikit-learn, а также магические команды SQL

Интеграция с базами данных

Базы данных можно подключать к Cursor двумя основными способами: через MCP‑серверы и расширения.
  • MCP‑серверы позволяют твоим агентам подключаться к базам данных
  • Расширения интегрируют твою IDE с базами данных

Через MCP

MCP‑серверы позволяют агенту выполнять запросы напрямую к базе данных. Агент может сам решить, когда обратиться к БД, написать подходящий запрос, выполнить команду и проанализировать результаты — всё в рамках одной задачи. Например, ты можешь подключить базу данных Postgres к своему экземпляру Cursor, добавив в Cursor следующий MCP‑конфиг:
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
Подробнее о MCP читай в нашей документации по MCP.

Через расширения

Установи специализированные расширения для БД (PostgreSQL, BigQuery, SQLite, Snowflake), чтобы выполнять запросы прямо из редактора. Это убирает переключение между инструментами и включает помощь ИИ для оптимизации запросов.
-- Cursor подсказывает индексы, оконные функции и оптимизации запросов
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;
Используй агентов, чтобы анализировать медленные запросы, предлагать улучшения производительности или генерировать код визуализации результатов. Cursor понимает SQL‑контекст и может рекомендовать подходящие типы графиков на основе структуры данных.
Расширение Snowflake

Визуализация данных

ИИ-помощь Cursor распространяется на библиотеки визуализации данных, включая Matplotlib, Plotly и Seaborn. Агент может генерировать код для визуализации, помогая тебе быстро и просто исследовать данные, одновременно создавая воспроизводимый и удобный для совместного использования артефакт.
import plotly.express as px
import pandas as pd

# ИИ предлагает подходящие типы графиков на основе столбцов данных
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()

Часто задаваемые вопросы

Могу ли я использовать существующие Jupyter-ноутбуки? Да, Cursor открывает файлы .ipynb с полной поддержкой выполнения ячеек и AI-автодополнения. Как работать с большими наборами данных, которые не помещаются в память? Используй распределённые вычислительные библиотеки, например Dask, или подключайся к кластерам Spark через Remote-SSH к более мощным машинам. Поддерживает ли Cursor файлы R и SQL? Да, Cursor предоставляет AI-помощь и подсветку синтаксиса для скриптов R (.R) и SQL-файлов (.sql). Как лучше всего делиться средами разработки? Закоммить папку .devcontainer в систему контроля версий. Участники команды смогут автоматически пересобрать среду при открытии проекта. Как отлаживать пайплайны обработки данных? Используй встроенный отладчик Cursor с точками останова в Python-скриптах или подключай Agent, чтобы пошагово анализировать и объяснять сложные преобразования данных.

Воспроизводимость окружения

Контейнеры для разработки

Контейнеры для разработки помогают обеспечить единые среды выполнения и зависимости для участников команды и сред деплоя. Они позволяют избежать багов, зависящих от окружения, и сократить время онбординга для новых членов команды. Чтобы использовать контейнер для разработки, начни с создания папки .devcontainer в корне репозитория. Затем создай файлы devcontainer.json, Dockerfile и 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
# add other dependencies you need for your project
Cursor автоматически обнаружит devcontainer и предложит открыть проект заново внутри контейнера. Либо можно вручную переоткрыть проект в контейнере через Command Palette (Ctrl+Shift+P), найдя команду Reopen in Container. Контейнеры для разработки дают несколько преимуществ:
  • Изоляция зависимостей предотвращает конфликты между проектами
  • Воспроизводимые сборки обеспечивают одинаковое поведение в средах разработки и продакшене
  • Упрощённый онбординг позволяет новым участникам команды начать сразу, без ручной настройки

Удалённая разработка по SSH

Когда твоему анализу нужны дополнительные вычислительные ресурсы, GPU или доступ к приватным датасетам, подключайся к удалённым машинам, сохраняя локальное окружение разработки.
  1. Разверни облачный инстанс или получи доступ к on‑premises серверу с нужными ресурсами
  2. Клонируй репозиторий на удалённую машину, включая конфигурацию .devcontainer
  3. Подключись через Cursor: Ctrl+Shift+P → “Remote-SSH: Connect to Host”
Этот подход сохраняет единый набор инструментов и позволяет масштабировать вычислительные ресурсы по мере необходимости. Одна и та же конфигурация контейнера разработки работает и локально, и удалённо.