windsurfmcpai-agentsidedata-analysis

Análise de Dados pela IDE Windsurf com DataSpoc MCP

Michael San Martim · 2026-04-28

Windsurf é uma IDE nativa de IA construída pela Codeium. Assim como o Cursor, ela pode se conectar a servidores MCP (Model Context Protocol). Conecte o DataSpoc Lens como servidor MCP e o assistente de IA do Windsurf ganha acesso direto ao seu data lake — pode listar tabelas, ler schemas, executar consultas SQL e responder perguntas sobre seus dados. Tudo sem sair do seu editor.

O Que Você Ganha

Após o setup, você pode digitar linguagem natural no painel de IA do Windsurf:

  • “Quais tabelas temos no data lake?”
  • “Mostre o schema da tabela de pedidos”
  • “Qual foi a receita do mês passado?”
  • “Encontre usuários que se cadastraram mas nunca compraram”
  • “Crie um script Python que gera um relatório de receita mensal”

O Windsurf chama o DataSpoc Lens via MCP, obtém os dados reais e os usa para responder suas perguntas ou gerar código.

Passo 1: Instalar DataSpoc Lens

Terminal window
pip install dataspoc-lens

Configure seu bucket:

Terminal window
dataspoc-lens add-bucket s3://my-company-data --name production
dataspoc-lens tables # verify connection

Passo 2: Configurar MCP no Windsurf

Abra a configuração MCP do Windsurf. Navegue em Settings, depois MCP Servers, ou edite o arquivo de configuração diretamente:

{
"mcpServers": {
"dataspoc-lens": {
"command": "dataspoc-lens",
"args": ["mcp"],
"env": {
"AWS_PROFILE": "default"
}
}
}
}

No macOS/Linux, o arquivo de configuração geralmente fica em ~/.codeium/windsurf/mcp_config.json.

Se você também quer capacidades de ingestão de dados, adicione o servidor MCP do Pipe:

{
"mcpServers": {
"dataspoc-lens": {
"command": "dataspoc-lens",
"args": ["mcp"],
"env": {
"AWS_PROFILE": "default"
}
},
"dataspoc-pipe": {
"command": "dataspoc-pipe",
"args": ["mcp"],
"env": {
"AWS_PROFILE": "default"
}
}
}
}

Reinicie o Windsurf após editar a configuração.

Passo 3: Verificar a Conexão

No painel de IA do Windsurf, digite:

What tables are available in my data lake?

O Windsurf chama a ferramenta list_tables via MCP e responde com algo como:

You have 8 tables available:
- raw.customers (12,450 rows)
- raw.orders (89,230 rows)
- raw.products (340 rows)
- raw.events (1,245,600 rows)
- curated.dim_customers (12,340 rows)
- curated.fct_orders (87,650 rows)
- gold.daily_revenue (480 rows)
- gold.customer_dashboard (11,890 rows)

Se você vê isso, o MCP está conectado e funcionando.

Workflow 1: Analisar Tendências de Receita

Digite no painel de IA do Windsurf:

Analyze revenue trends for Q1 2026. Show monthly breakdown and growth rate.

Nos bastidores, o Windsurf:

  1. Chama get_schema para tabelas relevantes
  2. Escreve uma consulta SQL com agregação mensal
  3. Chama run_query para executar
  4. Formata os resultados com análise

Resposta:

Q1 2026 Revenue Analysis:
| Month | Revenue | Orders | Avg Order | MoM Growth |
|----------|-----------|--------|-----------|------------|
| Jan 2026 | $245,600 | 3,120 | $78.72 | -- |
| Feb 2026 | $268,400 | 3,450 | $77.80 | +9.3% |
| Mar 2026 | $312,100 | 4,010 | $77.83 | +16.3% |
Q1 Total: $826,100
Average monthly growth: 12.8%
Revenue is accelerating. March saw 16.3% growth, nearly double
January's baseline. Order count is growing faster than average
order value, suggesting new customer acquisition is driving growth.

Todos os números vêm de consultas SQL reais nos seus dados reais.

Workflow 2: Encontrar Anomalias em Cadastros de Usuários

Find anomalies in user signups over the past 30 days. Flag any days
with unusual signup counts.

O Windsurf consulta os dados e responde:

I analyzed daily signups for the past 30 days. The average is 42
signups/day with a standard deviation of 8.
Anomalies detected:
| Date | Signups | Z-Score | Notes |
|------------|---------|---------|---------------------|
| 2026-04-12 | 127 | +10.6 | 3x normal volume |
| 2026-04-13 | 89 | +5.9 | 2x normal, tail |
| 2026-04-03 | 18 | -3.0 | Weekend + holiday |
April 12-13 saw a massive spike. This correlates with a Product Hunt
launch (if relevant). The April 3 dip aligns with a weekend.

Workflow 3: Criar um Relatório de Churn

Create a churn analysis report. Define churned as no order in 90 days.
Show churn by plan tier and signup cohort.

O Windsurf constrói o SQL, executa e apresenta:

Churn Analysis (as of 2026-04-28):
By Plan Tier:
| Tier | Total | Churned | Churn Rate |
|------------|-------|---------|------------|
| free | 5,990 | 3,240 | 54.1% |
| pro | 4,120 | 824 | 20.0% |
| enterprise | 2,340 | 117 | 5.0% |
By Signup Cohort (monthly):
| Cohort | Signups | Retained | 90-Day Retention |
|----------|---------|----------|-----------------|
| Jan 2026 | 1,245 | 892 | 71.6% |
| Feb 2026 | 1,380 | 1,048 | 75.9% |
| Mar 2026 | 1,520 | 1,230 | 80.9% |
Retention is improving month over month. Enterprise churn is
extremely low at 5%. Focus retention efforts on free tier users.

Workflow 4: Gerar Código a Partir dos Dados

O verdadeiro poder de uma integração com IDE: o Windsurf pode escrever código que usa o schema real dos seus dados.

Create a Python script that generates a weekly revenue report as a
PDF using the gold.daily_revenue table.

O Windsurf inspeciona o schema via MCP, depois gera um script Python com nomes de colunas corretos, imports adequados e consultas funcionais — tudo em um novo arquivo no seu editor. O código referencia nomes reais de tabelas e colunas do seu data lake porque o Windsurf consultou via MCP antes de escrever o código.

Dicas para Prompts de Dados Eficazes no Windsurf

Seja específico sobre o intervalo de tempo:

# Good
"Show revenue for March 2026"
# Vague
"Show recent revenue"

Nomeie as tabelas se você as conhece:

# Good
"Query gold.customer_dashboard for churned enterprise customers"
# Slower (Windsurf has to discover tables first)
"Find churned enterprise customers"

Peça o SQL também:

"What's our MRR? Show me the SQL you used."

Isso permite verificar a consulta e reutilizá-la depois.

Encadeie pedidos para análises complexas:

1. "List all tables and their row counts"
2. "Show the schema for raw.orders and raw.customers"
3. "Now build a cohort retention analysis using those tables"

Dividir análises complexas em passos dá ao Windsurf contexto para construir consultas melhores.

Peça geração de código após a análise:

1. "What does our daily revenue look like this month?"
2. "Create a Python function that queries this data and returns a pandas DataFrame"
3. "Add a Matplotlib chart to visualize the trend"

Windsurf vs. Cursor para Análise de Dados

Ambas as IDEs suportam MCP e ambas funcionam com o DataSpoc. Veja como se comparam:

RecursoWindsurfCursor
Suporte MCPSimSim
Modelo de IACodeium + configurávelConfigurável (Claude, GPT)
Fluxo de análise de dadosPainel AI + inlineChat + Composer
Edição multi-arquivoCascade flowComposer
Tier gratuitoGenerosoLimitado
Local config MCP~/.codeium/windsurf/mcp_config.json~/.cursor/mcp.json

A configuração MCP é quase idêntica. Se você já usa DataSpoc MCP com Cursor, mudar para Windsurf leva 30 segundos — basta copiar a configuração do servidor.

Resolução de Problemas

Servidor MCP não conectando:

Terminal window
# Test the MCP server manually
dataspoc-lens mcp --test
# Check that the command is in your PATH
which dataspoc-lens

Consultas dando timeout:

Terminal window
# Cache frequently queried tables
dataspoc-lens cache refresh raw.orders
dataspoc-lens cache refresh raw.customers

Credenciais AWS erradas:

Certifique-se de que o AWS_PROFILE na sua configuração MCP corresponde a um perfil válido em ~/.aws/credentials, ou defina credenciais explícitas:

{
"mcpServers": {
"dataspoc-lens": {
"command": "dataspoc-lens",
"args": ["mcp"],
"env": {
"AWS_ACCESS_KEY_ID": "AKIA...",
"AWS_SECRET_ACCESS_KEY": "...",
"AWS_REGION": "us-east-1"
}
}
}
}

Conecte o Windsurf ao seu data lake uma vez, e toda conversa de IA no seu IDE tem acesso a dados reais. Sem troca de contexto, sem ferramenta de BI separada, sem copiar e colar resultados de consulta. Apenas faça perguntas e obtenha respostas fundamentadas nos seus dados reais.

Recomendados