MCP Excel Reader

by archimedescrypto

29 stars
436 downloads
Not rated
GitHub

About

Integrates with Excel files to enable efficient processing and analysis of large spreadsheet datasets through automatic chunking and pagination.

Details

Author
archimedescrypto
GitHub stars
29
Downloads
436
Categories
File Management, Other, Productivity, Developer Tools, Design, AI, Frontend, Infrastructure, Project Management
Tags
#file-conversion, #data-analysis, #spreadsheet

1. Automatic Chunking
- Automatically splits large files into manageable chunks
- Default chunk size of 100KB
- Provides metadata for pagination

2. Sheet Selection
- Read specific sheets by name
- Defaults to first sheet if not specified

3. Row Pagination
- Control which rows to read with startRow and maxRows
- Get next chunk information for continuous reading

4. Error Handling
- Validates file existence and format
- Provides clear error messages
- Handles malformed Excel files gracefully

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Excel Reader
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The Excel Reader provides a single tool read_excel with the following parameters:

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[];
};
};
}

To install Excel Reader for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude

When used with Claude or another MCP-compatible AI:

Read the Excel file at path/to/file.xlsx

The AI will use the tool to read the file, automatically handling chunking for large files.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp excel reader": {
            "excel-reader-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@ArchimedesCrypto/excel-reader-mcp-chunked",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "excel-reader-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@ArchimedesCrypto/excel-reader-mcp-chunked",
            "--client",
            "claude"
        ]
    }
}

Read large Excel files with automatic chunking and pagination support.

A Model Context Protocol (MCP) server for reading Excel files with automatic chunking and pagination support. Built with SheetJS and TypeScript, this tool helps you handle large Excel files efficiently by automatically breaking them into manageable chunks.

- πŸ“Š Read Excel files (.xlsx, .xls) with automatic size limits
- πŸ”„ Automatic chunking for large datasets
- πŸ“‘ Sheet selection and row pagination
- πŸ“… Proper date handling
- ⚑ Optimized for large files
- πŸ›‘οΈ Error handling and validation

To install Excel Reader for Claude Desktop automatically viaSmithery:

npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
npm install -g @archimdescrypto/excel-reader

- Add to your MCP settings file (usually at~/.config/claude/settings.jsonor equivalent):

{ "mcpServers": { "excel-reader": { "command": "excel-reader", "env": {} } } }
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git cd mcp-excel-reader

The Excel Reader provides a single toolread_excelwith the following parameters:

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[]; }; }; }

When used with Claude or another MCP-compatible AI:

Read the Excel file at path/to/file.xlsx

The AI will use the tool to read the file, automatically handling chunking for large files.

- Automatically splits large files into manageable chunks
- Default chunk size of 100KB
- Provides metadata for pagination

- Read specific sheets by name
- Defaults to first sheet if not specified

- Control which rows to read with startRow and maxRows
- Get next chunk information for continuous reading

- Validates file existence and format
- Provides clear error messages
- Handles malformed Excel files gracefully

The Excel Reader is built on SheetJS and can be extended with its powerful features:

// Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true });
// Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s }));
// Access data validation rules const validation = worksheet['!dataValidation'];

- Merged Cells:worksheet['!merges']
- Hidden Rows/Columns:worksheet['!rows'],worksheet['!cols']
- Sheet Protection:worksheet['!protect']

For more features and detailed documentation, visit theSheetJS Documentation.
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request

This project is licensed under the MIT License - see theLICENSEfile for details.

- Built withSheetJS
- Part of the
Model Context Protocolecosystem

Read, analyze, and manipulate data in Excel (XLSX, XLS) and CSV files with advanced filtering and analytics.

Interact with VisiData, a terminal spreadsheet multitool for discovering and arranging tabular data in various formats like CSV, JSON, and Excel.

Analyze and extract information from DLIS (Digital Log Interchange Standard) files, including channel data and metadata.

Read and analyze Excel (.xlsx) and CSV (.csv) files with scalable, chunked, and column-specific data access, ideal for large datasets.

An MCP server for manipulating and managing Excel files.

Convert various file formats for documents and images, such as DOCX, PDF, CSV, and more.

An MCP server that wraps the OpenPyXL library, enabling clients to retrieve data from Excel files.

Rust-powered PDF toolkit over MCP: create, read, and analyze PDFs; extract text and entities for RAG; convert to Markdown; split/merge/rotate/reorder pages; manage form fields and annotations; encrypt documents. Runs locally via uvx oxidize-mcp.

A server for AI agents to selectively process and extract content from PDF documents.

Deterministic Korean Saju / Chinese BaZi Four Pillars MCP server β€” Heavenly Stems, Earthly Branches, Day Master, five elements, and 0-100 compatibility. No AI, no API key.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.