MCP Excel Reader
Leia arquivos grandes do Excel com suporte automático a chunking e paginação.
Documentação
MCP Excel Reader
Um servidor Model Context Protocol (MCP) para leitura de arquivos Excel com suporte automático a divisão em partes e paginação. Construído com SheetJS e TypeScript, esta ferramenta ajuda você a lidar com arquivos Excel grandes de forma eficiente, dividindo-os automaticamente em partes gerenciáveis.
Recursos
- 📊 Leitura de arquivos Excel (.xlsx, .xls) com limites automáticos de tamanho
- 🔄 Divisão automática em partes para grandes conjuntos de dados
- 📑 Seleção de planilhas e paginação de linhas
- 📅 Tratamento adequado de datas
- ⚡ Otimizado para arquivos grandes
- 🛡️ Tratamento de erros e validação
Instalação
Instalação via Smithery
Para instalar o Excel Reader para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
Como Servidor MCP
- Instale globalmente:
npm install -g @archimdescrypto/excel-reader
- Adicione ao seu arquivo de configurações MCP (geralmente em
~/.config/claude/settings.jsonou equivalente):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}
Para Desenvolvimento
- Clone o repositório:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-reader
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
Uso
Uso
O Excel Reader fornece uma única ferramenta read_excel com os seguintes parâmetros:
interface ReadExcelArgs {
filePath: string; // Path to Excel file
sheetName?: string; // Optional sheet name (defaults to first sheet)
startRow?: number; // Optional starting row for pagination
maxRows?: number; // Optional maximum rows to read
}
// Response format
interface ExcelResponse {
fileName: string;
totalSheets: number;
currentSheet: {
name: string;
totalRows: number;
totalColumns: number;
chunk: {
rowStart: number;
rowEnd: number;
columns: string[];
data: Record<string, any>[];
};
hasMore: boolean;
nextChunk?: {
rowStart: number;
columns: string[];
};
};
}
Uso Básico
Quando usado com Claude ou outra IA compatível com MCP:
Read the Excel file at path/to/file.xlsx
A IA usará a ferramenta para ler o arquivo, lidando automaticamente com a divisão em partes para arquivos grandes.
Recursos
-
Divisão Automática em Partes
- Divide automaticamente arquivos grandes em partes gerenciáveis
- Tamanho padrão de parte de 100KB
- Fornece metadados para paginação
-
Seleção de Planilhas
- Leia planilhas específicas pelo nome
- Usa a primeira planilha por padrão se não for especificada
-
Paginação de Linhas
- Controle quais linhas ler com startRow e maxRows
- Obtenha informações da próxima parte para leitura contínua
-
Tratamento de Erros
- Valida a existência e o formato do arquivo
- Fornece mensagens de erro claras
- Lida com arquivos Excel malformados de forma graciosa
Estendendo com Recursos do SheetJS
O Excel Reader é construído sobre o SheetJS e pode ser estendido com seus recursos poderosos:
Extensões Disponíveis
-
Tratamento de Fórmulas
// Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true }); -
Formatação de Células
// Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s })); -
Validação de Dados
// Access data validation rules const validation = worksheet['!dataValidation']; -
Recursos de Planilha
- Células Mescladas:
worksheet['!merges'] - Linhas/Colunas Ocultas:
worksheet['!rows'],worksheet['!cols'] - Proteção de Planilha:
worksheet['!protect']
- Células Mescladas:
Para mais recursos e documentação detalhada, visite a Documentação do SheetJS.
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
Agradecimentos
- Construído com SheetJS
- Parte do ecossistema Model Context Protocol
