read_excel does the thing you would otherwise write yourself: it splits the sheet, tells you where the chunk ends, and gives you the starting row for the next one, so the model can walk a long file instead of choking on it. It reads only — there is no write path, and formulas, cell styles and merged ranges are SheetJS features the repository documents as extensions rather than things the tool returns today.
A TypeScript server built on SheetJS that exposes one tool, read_excel, which opens a workbook from disk and returns rows as JSON with pagination built in.
- Any .xlsx or .xls workbook on disk read into structured rows
- Automatic chunking for large sheets, with a default chunk size of 100KB
- A specific sheet by name, or the first sheet when you do not name one
- Row pagination through startRow and maxRows, with the next chunk's starting row returned so reading can continue
- Sheet metadata alongside the data — total sheets, total rows, total columns, and the column names in the chunk
- Dates parsed rather than handed back as serial numbers
Nothing to authorize — no account, no key. Published as @archimdescrypto/excel-reader-mcp, which installs an excel-reader command for your client to launch; a Smithery install path for Claude Desktop is documented as well.
