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

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

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

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

Базы данных можно подключать к 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

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

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

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

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

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