MCP CSV Analysis with Gemini AI

Realize análise avançada de CSV e gere insights usando o Google Gemini AI. Requer chaves de API do Gemini e do Plotly.

Documentação

MCP CSV Analysis with Gemini AI

Um poderoso servidor Model Context Protocol (MCP) que fornece análise avançada de CSV e geração de raciocínio usando o Gemini AI do Google. Esta ferramenta integra-se perfeitamente com o Claude Desktop e oferece análise sofisticada de dados, visualização e recursos de processamento de linguagem natural.

🌟 Recursos

1. Ferramenta de Análise de CSV (analyze-csv)

  • Análise Abrangente de Dados: Realiza Análise Exploratória de Dados (EDA) detalhada em arquivos CSV
  • Dois Modos de Análise:
    • basic: Visão geral rápida e estatísticas essenciais
    • detailed: Análise aprofundada com insights avançados
  • Componentes da Análise:
    • Análise estatística de todas as colunas
    • Avaliação da qualidade dos dados
    • Reconhecimento de padrões
    • Análise de correlação
    • Avaliação da importância das características
    • Recomendações de pré-processamento
    • Insights de negócios
    • Sugestões de visualização

2. Ferramenta de Visualização de Dados (visualize-data)

  • Visualizações Interativas: Cria gráficos bonitos e informativos usando Plotly
  • Tipos de Visualização:
    • basic: Seleção automática de visualização baseada nos tipos de dados
    • advanced: Visualizações complexas com múltiplas variáveis
    • custom: Configurações de gráficos definidas pelo usuário
  • Tipos de Gráficos:
    • Histogramas para análise de distribuição
    • Mapas de calor de correlação
    • Gráficos de dispersão
    • Gráficos de linha
    • Gráficos de barras
    • Gráficos de caixa (box plots)
  • Recursos:
    • Detecção automática de tipos de dados
    • Seleção inteligente de gráficos
    • Gráficos interativos
    • Exportações em alta resolução
    • Layouts personalizáveis

3. Ferramenta de Geração de Raciocínio (generate-thinking)

  • Gera texto detalhado de processo de raciocínio usando o modelo experimental do Gemini
  • Suporta raciocínio e análise complexos
  • Salva respostas com carimbos de data/hora
  • Diretório de saída personalizável

🚀 Início Rápido

Pré-requisitos

  • Node.js (v16 ou superior)
  • TypeScript
  • Claude Desktop
  • Chave de API do Google Gemini
  • Conta Plotly (para visualizações)

Instalação

  1. Clone e configure:
git clone [your-repo-url]
cd mcp-csv-analysis-gemini
npm install
  1. Crie o arquivo .env:
GEMINI_API_KEY=your_api_key_here
  1. Compile o projeto:
npm run build

Configuração do Claude Desktop

  1. Crie/Edite %AppData%/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "CSV Analysis": {
      "command": "node",
      "args": ["path/to/mcp-csv-analysis-gemini/dist/index.js"],
      "cwd": "path/to/mcp-csv-analysis-gemini",
      "env": {
        "GEMINI_API_KEY": "your_api_key_here",
        "PLOTLY_USERNAME": "your_plotly_username",
        "PLOTLY_API_KEY": "your_plotly_api_key"
      }
    }
  }
}
  1. Reinicie o Claude Desktop

📊 Usando as Ferramentas

Análise de CSV

{
  "name": "analyze-csv",
  "arguments": {
    "csvPath": "./data/your_file.csv",
    "analysisType": "detailed",
    "outputDir": "./custom_output"
  }
}

Visualização de Dados

{
  "name": "visualize-data",
  "arguments": {
    "csvPath": "./data/your_file.csv",
    "visualizationType": "basic",
    "columns": ["column1", "column2"],
    "chartTypes": ["histogram", "scatter"],
    "outputDir": "./custom_output"
  }
}

Geração de Raciocínio

{
  "name": "generate-thinking",
  "arguments": {
    "prompt": "Your complex analysis prompt here",
    "outputDir": "./custom_output"
  }
}

📁 Estrutura de Saída

output/
├── analysis/
│   ├── csv_analysis_[timestamp]_part1.txt
│   ├── csv_analysis_[timestamp]_part2.txt
│   └── csv_analysis_[timestamp]_summary.txt
├── visualizations/
│   ├── histogram_[column]_[timestamp].png
│   ├── scatter_[columns]_[timestamp].png
│   └── correlation_heatmap_[timestamp].png
└── thinking/
    └── gemini_thinking_[timestamp].txt

📊 Tipos de Visualização

Visualizações Básicas

  • Geradas automaticamente com base nos tipos de dados
  • Inclui:
    • Histogramas para colunas numéricas
    • Mapas de calor de correlação
    • Gráficos de dispersão básicos

Visualizações Avançadas

  • Gráficos mais sofisticados
  • Múltiplas variáveis
  • Layouts aprimorados
  • Esquemas de cores personalizados

Visualizações Personalizadas

  • Tipos de gráficos definidos pelo usuário
  • Parâmetros configuráveis
  • Opções de estilo personalizadas
  • Layouts avançados de gráficos

🛠️ Desenvolvimento

Scripts Disponíveis

  • npm run build: Compila TypeScript para JavaScript
  • npm run start: Inicia o servidor MCP
  • npm run dev: Executa em modo de desenvolvimento com ts-node

Variáveis de Ambiente

  • GEMINI_API_KEY: Sua chave de API do Google Gemini
  • PLOTLY_USERNAME: Seu nome de usuário Plotly
  • PLOTLY_API_KEY: Sua chave de API Plotly

📝 Detalhes da Análise

Análise Básica Inclui

  1. Resumo estatístico básico para cada coluna
  2. Avaliação da qualidade dos dados
  3. Principais insights e padrões
  4. Correlações potenciais
  5. Recomendações para análises adicionais

Análise Detalhada Inclui

  1. Análise estatística abrangente
    • Análise de distribuição
    • Medidas de tendência central
    • Medidas de dispersão
    • Detecção de outliers
  2. Avaliação avançada da qualidade dos dados
  3. Reconhecimento de padrões
  4. Análise de correlação
  5. Análise de importância das características
  6. Recomendações de pré-processamento
  7. Sugestões de visualização
  8. Insights de negócios

⚠️ Limitações

  • Tamanho máximo do arquivo: Depende da memória do sistema
  • Limites de taxa: Baseados nas cotas da API Gemini e Plotly
  • Limite de tokens de saída: 65.536 tokens por resposta
  • Formato CSV: Apenas arquivos CSV padrão
  • Tempo de análise: Varia com o tamanho e complexidade dos dados
  • Limites de visualização: Baseados nas restrições do plano gratuito Plotly

🔒 Notas de Segurança

  • Armazene suas chaves de API com segurança
  • Não compartilhe seu arquivo .env
  • Revise os dados CSV quanto a informações sensíveis
  • Use diretórios de saída personalizados para análises sensíveis
  • Proteja suas credenciais Plotly

🐛 Solução de Problemas

Problemas Comuns

  1. Erro de Chave de API

    • Verifique se o arquivo .env existe
    • Verifique a validade da chave de API
    • Garanta o carregamento adequado do ambiente
  2. Erro de Análise de CSV

    • Verifique o formato do arquivo CSV
    • Verifique as permissões do arquivo
    • Garanta que o arquivo não esteja vazio
  3. Conexão com o Claude Desktop

    • Verifique a sintaxe do config.json
    • Verifique os caminhos dos arquivos na configuração
    • Reinicie o Claude Desktop

Modo de Depuração

Adicione DEBUG=true ao seu arquivo .env para registro detalhado:

GEMINI_API_KEY=your_key_here
DEBUG=true

📚 Referência da API

Ferramenta de Análise de CSV

interface AnalyzeCSVParams {
  csvPath: string;          // Path to CSV file
  outputDir?: string;       // Optional output directory
  analysisType?: 'basic' | 'detailed';  // Analysis type
}

Ferramenta de Visualização de Dados

interface VisualizeDataParams {
  csvPath: string;          // Path to CSV file
  outputDir?: string;       // Optional output directory
  visualizationType?: 'basic' | 'advanced' | 'custom';  // Visualization type
  columns?: string[];       // Columns to visualize
  chartTypes?: ('scatter' | 'line' | 'bar' | 'histogram' | 'box' | 'heatmap')[];  // Chart types
  customConfig?: Record<string, any>;  // Custom configuration
}

Ferramenta de Geração de Raciocínio

interface GenerateThinkingParams {
  prompt: string;           // Analysis prompt
  outputDir?: string;       // Optional output directory
}

🤝 Contribuindo

  1. Faça um fork do repositório
  2. Crie seu branch de funcionalidade
  3. Faça commit das suas alterações
  4. Envie para o branch
  5. Crie um Pull Request

📄 Licença

Licença MIT - Consulte o arquivo LICENSE para detalhes