MCP Excel Reader
Lee archivos grandes de Excel con fragmentación automática y soporte de paginación.
Documentación
MCP Excel Reader
Un servidor de Model Context Protocol (MCP) para leer archivos de Excel con soporte automático de fragmentación y paginación. Construido con SheetJS y TypeScript, esta herramienta te ayuda a manejar archivos de Excel grandes de manera eficiente, dividiéndolos automáticamente en fragmentos manejables.
Características
- 📊 Lee archivos de Excel (.xlsx, .xls) con límites de tamaño automáticos
- 🔄 Fragmentación automática para conjuntos de datos grandes
- 📑 Selección de hoja y paginación de filas
- 📅 Manejo adecuado de fechas
- ⚡ Optimizado para archivos grandes
- 🛡️ Manejo de errores y validación
Instalación
Instalación a través de Smithery
Para instalar Excel Reader para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
Como servidor MCP
- Instalar globalmente:
npm install -g @archimdescrypto/excel-reader
- Añade a tu archivo de configuración de MCP (normalmente en
~/.config/claude/settings.jsono equivalente):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}
Para desarrollo
- Clona el repositorio:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-reader
- Instala las dependencias:
npm install
- Compila el proyecto:
npm run build
Uso
Uso
El Excel Reader proporciona una única herramienta read_excel con los siguientes 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
Cuando se usa con Claude u otra IA compatible con MCP:
Read the Excel file at path/to/file.xlsx
La IA usará la herramienta para leer el archivo, manejando automáticamente la fragmentación para archivos grandes.
Características
-
Fragmentación automática
- Divide automáticamente archivos grandes en fragmentos manejables
- Tamaño de fragmento predeterminado de 100KB
- Proporciona metadatos para la paginación
-
Selección de hoja
- Lee hojas específicas por nombre
- Se usa la primera hoja si no se especifica
-
Paginación de filas
- Controla qué filas leer con startRow y maxRows
- Obtén información del siguiente fragmento para lectura continua
-
Manejo de errores
- Valida la existencia y el formato del archivo
- Proporciona mensajes de error claros
- Maneja archivos de Excel malformados con elegancia
Extensión con características de SheetJS
El Excel Reader está construido sobre SheetJS y puede extenderse con sus potentes características:
Extensiones disponibles
-
Manejo de fórmulas
// Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true }); -
Formato de celdas
// Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s })); -
Validación de datos
// Access data validation rules const validation = worksheet['!dataValidation']; -
Características de hoja
- Celdas combinadas:
worksheet['!merges'] - Filas/Columnas ocultas:
worksheet['!rows'],worksheet['!cols'] - Protección de hoja:
worksheet['!protect']
- Celdas combinadas:
Para más características y documentación detallada, visita la Documentación de SheetJS.
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Sube a la rama (
git push origin feature/amazing-feature) - Abre un Pull Request
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Agradecimientos
- Construido con SheetJS
- Parte del ecosistema Model Context Protocol
