Análise rápida e eficiente de planilhas através de operações atômicas, construído especificamente para agentes de IA
🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文 • 🇪🇸 Español • 🇯🇵 日本語 • 🇧🇷 Português
Feito com ❤️ para a mãe por @Jwadow
Analise planilhas Excel com seu agente de IA através de operações atômicas — sem despejar dados no contexto
Funciona com OpenCode, Claude Code, Codex app, Cursor, Cline, Roo Code, Kilo Code e outros agentes de IA compatíveis com MCP
Por que isso existe • A opinião da minha mãe • O que seu agente pode fazer • Instalação • 💖 Doar
Arquitetura local primeiro Este servidor roda completamente na sua máquina local. Seus arquivos Excel são processados localmente e nunca saem do seu computador.
É seguro?
- Modelos locais (Ollama, LM Studio): Seus dados nunca saem da sua máquina. 100% privado.
- Modelos na nuvem (OpenRouter, ChatGPT): Apenas os resultados precisos das operações (contagens, somas, fórmulas) e metadados (nomes de colunas) são enviados para o modelo. Os dados brutos ficam no seu disco.
O problema: A maioria das ferramentas Excel para IA despeja dados brutos da planilha no contexto do agente. Isso inunda a janela de contexto, deixa tudo lento, e a IA ainda pode calcular errado ou se confundir em grandes conjuntos de dados.
Este projeto: Pense em SQL para Excel. Seu agente de IA compõe operações atômicas (filter_and_count, aggregate, group_by) e obtém resultados precisos — não milhares de linhas.
O agente analisa dados sem vê-los. Os resultados chegam como números, fórmulas e insights.
"Isso é como trabalhar com um banco de dados através de SQL, não arrastando tudo para a memória." — Agente de IA após analisar uma planilha em produção
Model Context Protocol é um padrão aberto que permite aos agentes de IA usar ferramentas externas.
Este projeto é uma dessas ferramentas. Quando você conecta este servidor ao seu agente de IA (OpenCode, Claude Code, Codex app, Cursor, Cline, Roo Code, Kilo Code, etc.), seu agente ganha um monte de novos comandos para trabalhar com arquivos Excel — filtragem, contagem, agregação, análise.
A vantagem principal: Sua IA não carrega milhares de linhas de planilha na memória. Em vez disso, faz perguntas específicas e obtém respostas precisas. Mais rápido, mais preciso, sem estouro de contexto.
Traduzido do russo. Ela não é uma pessoa técnica - digita com um dedo, usa Excel todo dia no trabalho.
"Normalmente levo uma hora pra organizar essa planilha, filtrar por categoria, copiar pras colunas diferentes, calcular os totais. Passei a tarefa e fez tudo em 3 minutos. Conferi e tá certinho. Agora é assim com qualquer coisa, só escrevo o que preciso e ele faz. Fiquei chocada de verdade. Metade da vida fazendo isso na mão e agora o computador entende o que eu preciso. Economiza muito tempo mesmo."
Uma vez conectado, seu agente de IA ganha um monte de ferramentas especializadas para analisar dados tabulares. O agente recebe apenas consultas precisas e resultados confiáveis.
- Inspecionar arquivos - estrutura, planilhas, colunas, tipos de dados (detecta automaticamente cabeçalhos bagunçados)
- Perfilar colunas - estatísticas, contagens de nulos, valores principais, qualidade de dados em uma chamada
- Buscar dados - pesquisar em múltiplas planilhas, localizar colunas em qualquer lugar
- 12 operadores de filtro -
==,!=,>,<,>=,<=,in,not_in,contains,startswith,endswith,regex - Lógica complexa - grupos AND/OR aninhados, operador NOT, condições ilimitadas
- Operações em lote - classificar dados em múltiplas categorias em uma solicitação (6x mais rápido)
- Análise de sobreposição - diagramas de Venn, contagens de interseção, operações de conjuntos
- 8 funções de agregação - sum, mean, median, min, max, std, var, count
- Agrupar por - tabelas dinâmicas com múltiplas colunas de agrupamento
- Análise estatística - correlações (Pearson/Spearman/Kendall), detecção de outliers (IQR/Z-score)
- Séries temporais - crescimento período a período, médias móveis, totais acumulados
- Classificação - top-N, bottom-N, classificação por percentil (com suporte a agrupamento)
- Colunas calculadas - expressões aritméticas entre colunas
- Validação de dados - encontrar duplicatas, valores nulos, verificações de qualidade de dados
- Comparação de planilhas - diferenças entre versões, encontrar mudanças
- Operações atômicas - resultados em 20-50ms, independentemente do tamanho do arquivo
- Cache inteligente - arquivo carregado uma vez, reutilizado para todas as operações
- Linhas de amostra - visualizar dados filtrados sem recuperação completa
- Proteção de contexto - limites inteligentes previnem estouro do contexto de IA
- Geração de fórmulas - cada resultado inclui fórmula Excel para atualizações dinâmicas
- Saída TSV - copiar-colar resultados diretamente no Excel
- Suporte legado - funciona com arquivos .xls antigos (Excel 97-2003)
- Multi-planilha - analisar múltiplas planilhas em um arquivo
Exemplos de consultas que seu agente agora pode lidar:
- "Mostre os 10 melhores clientes por receita"
- "Encontre todos os pedidos do Q4 onde o valor > R$1000"
- "Calcule o crescimento mês a mês para cada categoria de produto"
- "Quais clientes são VIP e ativos? (análise de sobreposição)"
- "Encontre duplicatas na coluna Email"
Python 3.10 ou superior — Baixar aqui
git clone https://github.com/jwadow/mcp-excel.git
cd mcp-excelNão tem Git? Clique em "Code" → "Download ZIP" no topo desta página do repositório, extraia e abra o terminal nessa pasta.
🎯 Opção A: Poetry (Recomendado)
Poetry é um gerenciador de dependências moderno do Python (substitui pip+venv+requirements.txt).
Instale-o: pip install poetry ou pipx install poetry
Instalar dependências:
poetry installConfigurar seu agente de IA:
Adicione isso às suas configurações MCP (config JSON):
{
"mcpServers": {
"excel": {
"command": "poetry",
"args": ["run", "python", "-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}Importante: Substitua C:/path/to/mcp-excel pelo caminho real para o repositório clonado.
📦 Opção B: pip com ambiente virtual
Instalar dependências:
# Windows
python -m venv venv
venv\Scripts\activate
pip install -e .
# Linux/Mac
python -m venv venv
source venv/bin/activate
pip install -e .Encontrar caminho do Python no venv:
# Windows
where python
# Linux/Mac
which pythonConfigurar seu agente de IA:
Adicione isso às suas configurações MCP (config JSON):
{
"mcpServers": {
"excel": {
"command": "C:/path/to/mcp-excel/venv/Scripts/python.exe",
"args": ["-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}Importante:
- Substitua
C:/path/to/mcp-excel/venv/Scripts/python.exepelo caminho real do comandowhere python - No Linux/Mac use o caminho de
which python(ex:/path/to/mcp-excel/venv/bin/python)
🐍 Opção C: Python do sistema (Não recomendado)
Instalar dependências globalmente:
pip install "mcp>=1.1.0" "pandas>=2.2.0" "pydantic>=2.10.0" "xlrd>=2.0.1" "openpyxl>=3.1.0" "psutil>=6.1.0" "python-dateutil>=2.9.0"Configurar seu agente de IA:
{
"mcpServers": {
"excel": {
"command": "python",
"args": ["-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}Reinicie seu agente de IA e teste:
"Analise o arquivo Excel em C:/Users/SeuNome/Documents/test.xlsx"
Se funcionar - pronto! Se não, verifique:
- O caminho para o repositório está correto em
cwd - O caminho do Python está correto em
command(para método pip) - Todas as dependências estão instaladas
Funciona com qualquer agente de IA compatível com MCP.
Após a configuração, reinicie seu agente de IA e peça para analisar arquivos Excel:
"Analise o arquivo Excel em C:/Users/SeuNome/Documents/sales.xls"
"Mostre os 10 melhores clientes por receita de sales.xlsx"
"Encontre duplicatas na coluna 'Email' em contacts.xlsx"
"Calcule o crescimento mês a mês de revenue.xls"
📋 Referência completa de ferramentas (25 ferramentas) - Clique para expandir
Obter visão geral da estrutura do arquivo - planilhas, dimensões, formato. Usar para: Exploração inicial do arquivo, descoberta de planilhas, validação de formato Retorna: Lista de planilhas, contagens de linhas/colunas, metadados do arquivo
Análise detalhada da planilha com detecção automática de cabeçalhos. Usar para: Entender estrutura de dados, tipos de colunas, visualização de amostras Retorna: Nomes/tipos de colunas, contagem de linhas, dados de amostra (3 linhas), info de detecção de cabeçalhos
Enumeração rápida de colunas sem carregar dados completos. Usar para: Validação de esquema, construção de filtros, verificação de disponibilidade de colunas Retorna: Lista de nomes de colunas, contagem de colunas
Perfilamento abrangente de colunas - tipos, estatísticas, nulos, valores principais. Usar para: Exploração inicial de dados, avaliação de qualidade, análise de distribuição Retorna: Por coluna: tipo, % nulos, contagem única, estatísticas (numérico), top N valores Eficincia: Substitui 10+ chamadas separadas (get_column_stats + get_value_counts + find_nulls)
Localizar coluna em múltiplas planilhas. Usar para: Navegação multi-planilha, descoberta de dados, análise entre planilhas Retorna: Lista de planilhas com localizações de colunas, índices, contagens de linhas (sem distinção de maiúsculas)
Extrair valores únicos de uma coluna. Usar para: Exploração de dados, construção de filtros, descoberta de valores distintos, verificações de qualidade de dados Retorna: Lista de valores únicos, contagem, flag de truncamento (se exceder o limite) Limite padrão: 100 valores
Análise de frequência - top N valores mais comuns. Usar para: Análise de distribuição, identificar categorias dominantes, detecção de desequilíbrio de dados Retorna: Dicionário valor → contagem, contagem total, saída TSV Padrão: Top 10 valores
Recuperar linhas filtradas com paginação. Usar para: Extração de dados, inspeção de amostras, análise detalhada, exportação Retorna: Linhas filtradas (lista de dicionários), contagem total, saída TSV Paginação: Suporte a limit/offset
Contar linhas que correspondem a condições com 14 operadores.
Operadores: ==, !=, >, <, >=, <=, in, not_in, contains, startswith, endswith, regex, is_null, is_not_null
Lógica: Grupos AND/OR aninhados, operador NOT, condições ilimitadas
Usar para: Classificação, segmentação, validação de dados, contagem de categorias
Retorna: Contagem + fórmula Excel (COUNTIFS), linhas de amostra opcionais
Classificar dados em múltiplas categorias em uma chamada (6x mais rápido). Usar para: Classificação multicategoria, segmentação de mercado, controle de qualidade Retorna: Contagem + fórmula por categoria, tabela TSV para Excel Eficiência: Carrega arquivo uma vez, aplica todos os filtros, retorna todos os resultados
Análise de diagrama de Venn - interseções, uniões, zonas exclusivas. Usar para: Análise de sobreposição, oportunidades de venda cruzada, verificações de consistência de dados Retorna: Contagens de conjuntos, interseções aos pares (A ∩ B), união, dados de Venn (2-3 conjuntos) Exemplos: Clientes VIP E ativos, sobreposições de categorias de produtos, pedidos concluídos SEM data de conclusão
Realizar agregação com filtros opcionais (8 operações).
Operações: sum, mean, median, min, max, std, var, count
Usar para: Totais, médias, valores mín/máx, resumos estatísticos, agregações condicionais, cálculos de KPI
Retorna: Valor agregado + fórmula Excel (SUMIF, AVERAGEIF, etc.)
Especial: Autoconversão de números armazenados como texto para numérico
Tabela dinâmica com agrupamento de múltiplas colunas. Usar para: Análise de categorias, agrupamento hierárquico, vendas por região/produto Retorna: Dados agrupados com valores agregados, saída TSV Suporta: Múltiplas colunas de agrupamento, todas as 8 operações de agregação
Resumo estatístico - contagem, média, mediana, desvio padrão, quartis. Usar para: Análise de distribuição, perfilamento de dados, preparação para detecção de outliers Retorna: Estatísticas completas (min, max, mean, median, std, Q1, Q3), contagem de nulos, saída TSV
Matriz de correlação entre 2+ colunas. Métodos: Pearson (linear), Spearman (baseado em classificação), Kendall (baseado em classificação) Usar para: Análise de relacionamentos, dependência de variáveis, seleção de características Retorna: Matriz de correlação (-1 a 1), saída TSV
Detecção de anomalias usando método IQR ou Z-score. Métodos: IQR (robusto), Z-score (assume distribuição normal) Usar para: Detecção de fraude, erros de sensores, qualidade de dados, identificação de valores incomuns Retorna: Linhas outliers com índices, contagem, método/limiar usado
Detectar linhas duplicadas por colunas especificadas.
Usar para: Qualidade de dados, planejamento de deduplicação, verificações de integridade
Retorna: Todas as linhas duplicadas (incluindo primeira ocorrência), contagem, índices
Nota: Usa duplicated(keep=False) para marcar todas as duplicatas
Encontrar valores nulos/vazios com estatísticas detalhadas.
Usar para: Verificações de completude, análise de valores ausentes, limpeza de dados
Retorna: Por coluna: contagem de nulos, porcentagem, índices (primeiros 100)
Nota: Marcadores de posição (".", "-") NÃO são nulos - use operadores == ou in
Buscar valor em todas as planilhas. Usar para: Busca entre planilhas, rastreamento de valores, localização de dados Retorna: Lista de planilhas com contagens de correspondências, correspondências totais Suporta: Valores numéricos e de string
Diferença entre duas planilhas usando coluna chave. Usar para: Comparação de versões, detecção de mudanças, reconciliação, trilhas de auditoria Retorna: Linhas com diferenças, status (only_in_sheet1/sheet2/different_values), comparação lado a lado
Análise de crescimento período a período. Períodos: month, quarter, year Usar para: Análise de tendências, rastreamento de crescimento, comparação sazonal, análise ano a ano Retorna: Períodos com valores, mudanças absolutas/percentuais, fórmula Excel
Soma acumulada com agrupamento opcional. Usar para: Análise acumulativa, rastreamento de progresso, cálculos de saldo, fluxo de caixa Retorna: Linhas com totais acumulados, fórmula Excel (SUM($B$2:B2)) Suporta: Agrupamento (total acumulado reinicia por grupo)
Suavização com tamanho de janela especificado. Usar para: Detecção de tendências, redução de ruído, identificação de padrões Retorna: Linhas com médias móveis, fórmula Excel (AVERAGE(B1:B7)) Exemplos: Média móvel de 7 dias, suavização de preço de ações de 30 dias
Classificar por valor de coluna com filtragem top-N. Direções: desc (maior primeiro), asc (menor primeiro) Usar para: Tabelas de classificação, análise top/bottom, classificação por percentil Retorna: Linhas classificadas com números de classificação, fórmula Excel (RANK) Suporta: Filtragem top-N, classificação dentro de grupos
Expressões aritméticas entre colunas.
Operações: +, -, *, /, parênteses
Usar para: Métricas derivadas, cálculos financeiros, análise de proporções, cálculos de KPI
Retorna: Valores calculados, fórmula Excel (ex: =A2*B2)
Exemplos: Receita = Preço * Quantidade, Margem = (Receita - Custo) / Receita
Atualmente suportado:
- ✅ XLS - Excel 97-2003 (somente leitura)
- ✅ XLSX - Excel 2007+ (somente leitura)
Planejado:
- 🔜 XLSM - Excel com suporte a macros
- 🔜 CSV - Valores separados por vírgula
- 🔜 TSV - Valores separados por tabulação
- 🔜 ODS - Planilha OpenDocument
- 🔜 Parquet - Formato de armazenamento colunar
- Operações de escrita - Modificar arquivos de planilhas (criar colunas calculadas, atualizar valores)
- Modo de transporte SSE - Eventos enviados pelo servidor para acesso remoto
- Geração avançada de fórmulas - Fórmulas Excel mais complexas com funções aninhadas
- Exportação de dados - Exportar resultados filtrados/agregados para novos arquivos
Este projeto está licenciado sob a GNU Affero General Public License v3.0 (AGPL-3.0).
Isso significa:
- ✅ Você pode usar, modificar e distribuir este software
- ✅ Você pode usá-lo para fins comerciais
⚠️ Você deve divulgar o código-fonte ao distribuir o software⚠️ Uso em rede é distribuição — se você executar uma versão modificada em um servidor e permitir que outros interajam com ela, você deve disponibilizar o código-fonte⚠️ As modificações devem ser lançadas sob a mesma licença
Consulte o arquivo LICENSE para o texto completo da licença.
AGPL-3.0 garante que melhorias neste software beneficiem toda a comunidade. Se você modificar este servidor e implantá-lo como serviço, deve compartilhar suas melhorias com seus usuários.
Se este projeto economizou seu tempo ou dinheiro, considere apoiá-lo!
Cada contribuição ajuda a manter o projeto vivo e crescendo
☕ Doação única • 💎 Apoio mensal
| Moeda | Rede | Endereço |
|---|---|---|
| USDT | TRC20 | TSVtgRc9pkC1UgcbVeijBHjFmpkYHDRu26 |
| BTC | Bitcoin | 12GZqxqpcBsqJ4Vf1YreLqwoMGvzBPgJq6 |
| ETH | Ethereum | 0xc86eab3bba3bbaf4eb5b5fff8586f1460f1fd395 |
| SOL | Solana | 9amykF7KibZmdaw66a1oqYJyi75fRqgdsqnG66AK3jvh |
| TON | TON | UQBVh8T1H3GI7gd7b-_PPNnxHYYxptrcCVf3qQk5v41h3QTM |
Contribuições são bem-vindas! Por favor, certifique-se de que:
- Todas as dependências sejam compatíveis com AGPL
- O código siga o estilo existente
- Testes sejam incluídos para novos recursos
- A documentação esteja atualizada
Para problemas, bugs ou contribuições, por favor abra uma issue no GitHub.
Tem perguntas? Encontrou um bug? Tem uma ideia de recurso? Estamos aqui para ajudar!
Seja você está preso na instalação, encontrou algo quebrado ou apenas quer sugerir uma melhoria — GitHub Issues é o lugar. Não se preocupe se você é novo no GitHub, apenas clique no link acima e descreva sua situação. Vamos resolver juntos.