Pular para o conteúdo principal
O Cursor oferece ferramentas integradas para desenvolvimento em ciência de dados por meio de ambientes reproduzíveis, suporte a notebooks e assistência de código com IA. Este guia aborda padrões essenciais de configuração para fluxos de trabalho em Python, R e SQL.

Desenvolvimento de notebooks

Para ter suporte completo a notebooks, baixa a extensão Jupyter (id: ms-toolsai.jupyter), publicada por ms-toolsai.
O Cursor oferece suporte a arquivos .ipynb e .py com execução integrada de células. Tab, Inline Edit e Agents funcionam em notebooks do mesmo jeito que em outros arquivos de código. Principais recursos:
  • Execução inline de células roda o código diretamente na interface do editor
  • Tab, Inline Edit e Agents entendem bibliotecas de ciência de dados, incluindo pandas, NumPy, scikit-learn e comandos mágicos do SQL

Integração com banco de dados

Bancos de dados podem ser integrados ao Cursor por dois mecanismos principais: servidores MCP e extensões.
  • Servidores MCP permitem que teus agents se conectem aos teus bancos de dados
  • Extensões integram teu IDE como um todo aos teus bancos de dados

Via MCP

Servidores MCP permitem que teu agent faça consultas diretamente ao teu banco de dados. Com isso, teu agent pode optar por consultar o banco, escrever a query adequada, executar o comando e analisar os resultados, tudo como parte de uma tarefa em andamento. Por exemplo, tu podes conectar um banco de dados Postgres à tua instância do Cursor adicionando a seguinte configuração MCP ao Cursor:
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
Para saber mais sobre MCP, vê nossa documentação do MCP.

Via extensões

Instala extensões específicas de banco de dados (PostgreSQL, BigQuery, SQLite, Snowflake) para executar consultas diretamente no editor. Isso elimina a troca de contexto entre ferramentas e habilita a assistência de IA para otimização de consultas.
-- O Cursor sugere índices, funções de janela e otimizações de consulta
SELECT
    user_id,
    event_type,
    COUNT(*) as total_eventos,
    RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as ranking_frequencia
FROM events
WHERE created_at >= NOW() - INTERVAL '7 days'
GROUP BY user_id, event_type;
Usa Agents para analisar consultas lentas, sugerir melhorias de desempenho ou gerar código de visualização para resultados de consultas. O Cursor entende o contexto de SQL e pode recomendar tipos de gráfico apropriados com base na estrutura dos teus dados.
Snowflake Extension

Visualização de dados

A IA do Cursor também dá suporte a bibliotecas de visualização como Matplotlib, Plotly e Seaborn. O agente pode gerar código de visualização, te ajudando a explorar dados de forma rápida e fácil, enquanto cria um artefato reproduzível e compartilhável.
import plotly.express as px
import pandas as pd

# A IA sugere tipos de gráfico relevantes com base nas colunas do dataset
df = pd.read_csv('sales_data.csv')
fig = px.scatter(df, x='advertising_spend', y='revenue',
                 color='region', size='customer_count',
                 title='Receita vs. Investimento em Publicidade por Região')
fig.show()

Perguntas frequentes

Posso usar notebooks Jupyter existentes? Sim, o Cursor abre arquivos .ipynb com execução completa de células e suporte a conclusão com IA. Como lido com grandes conjuntos de dados que não cabem na memória? Usa bibliotecas de computação distribuída como o Dask ou conecta a clusters Spark por meio de conexões Remote-SSH para máquinas mais potentes. O Cursor oferece suporte a arquivos R e SQL? Sim, o Cursor fornece assistência com IA e realce de sintaxe para scripts em R (.R) e arquivos SQL (.sql). Qual é a forma recomendada de compartilhar ambientes de desenvolvimento? Faz commit da pasta .devcontainer no controle de versão. Integrantes do time podem reconstruir o ambiente automaticamente ao abrir o projeto. Como eu depuro pipelines de processamento de dados? Usa o depurador integrado do Cursor com pontos de interrupção em scripts Python ou aproveita o Agent para analisar e explicar transformações de dados complexas passo a passo.

Reprodutibilidade de ambiente

Containers de desenvolvimento

Containers de desenvolvimento ajudam a garantir runtimes e dependências consistentes entre os membros do time e ambientes de deployment. Eles podem eliminar bugs específicos de ambiente e reduzir o tempo de onboarding de novos membros do time. Pra usar um container de desenvolvimento, começa criando a pasta .devcontainer na raiz do teu repositório. Depois, cria os arquivos devcontainer.json, Dockerfile e 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
# adicione outras dependências necessárias para o seu projeto
Cursor detecta o devcontainer automaticamente e sugere reabrir teu projeto dentro de um container. Se preferir, dá pra reabrir manualmente em um container usando a Command Palette (Ctrl+Shift+P) e pesquisando por Reopen in Container. Containers de desenvolvimento oferecem várias vantagens:
  • Isolamento de dependências evita conflitos entre projetos
  • Builds reprodutíveis garantem comportamento consistente entre ambientes de desenvolvimento e produção
  • Onboarding simplificado permite que novas pessoas do time comecem na hora sem configuração manual

Desenvolvimento remoto com SSH

Quando tua análise precisar de mais recursos de computação, GPUs ou acesso a datasets privados, conecta em máquinas remotas mantendo teu ambiente local de desenvolvimento.
  1. Provisiona uma instância na nuvem ou acessa um servidor on-premises com os recursos necessários
  2. Clona teu repositório na máquina remota, incluindo a configuração .devcontainer
  3. Conecta pelo Cursor: Ctrl+Shift+P → “Remote-SSH: Connect to Host”
Essa abordagem mantém as ferramentas consistentes enquanto escala os recursos de computação conforme necessário. A mesma configuração de container de desenvolvimento funciona tanto em ambientes locais quanto remotos.
I