MCP Excel Reader
The MCP Excel Reader server allows you to read and process Excel files efficiently with the following capabilities:
Read Excel Files: Extract data from
.xlsxand.xlsformatsAutomatic Chunking: Handle large datasets by splitting them into manageable chunks
Sheet Selection: Specify a sheet by name or default to the first sheet
Row Pagination: Control reading with
startRowandmaxRowsparametersStructured Data: Returns organized data with metadata about sheets, rows, and columns
Error Handling: Validates files and gracefully handles formatting issues
MCP Integration: Works seamlessly with MCP-compatible AI tools like Claude
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Excel Readerread the sales data from /reports/q3-2024.xlsx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Excel Reader
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.
Features
๐ 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
Related MCP server: Excel MCP Server
Installation
Installing via Smithery
To install Excel Reader for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claudeAs an MCP Server
Install globally:
npm install -g @archimdescrypto/excel-readerAdd to your MCP settings file (usually at
~/.config/claude/settings.jsonor equivalent):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}For Development
Clone the repository:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-readerInstall dependencies:
npm installBuild the project:
npm run buildUsage
Usage
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[];
};
};
}Basic Usage
When used with Claude or another MCP-compatible AI:
Read the Excel file at path/to/file.xlsxThe AI will use the tool to read the file, automatically handling chunking for large files.
Features
Automatic Chunking
Automatically splits large files into manageable chunks
Default chunk size of 100KB
Provides metadata for pagination
Sheet Selection
Read specific sheets by name
Defaults to first sheet if not specified
Row Pagination
Control which rows to read with startRow and maxRows
Get next chunk information for continuous reading
Error Handling
Validates file existence and format
Provides clear error messages
Handles malformed Excel files gracefully
Extending with SheetJS Features
The Excel Reader is built on SheetJS and can be extended with its powerful features:
Available Extensions
Formula Handling
// Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true });Cell Formatting
// Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s }));Data Validation
// Access data validation rules const validation = worksheet['!dataValidation'];Sheet Features
Merged Cells:
worksheet['!merges']Hidden Rows/Columns:
worksheet['!rows'],worksheet['!cols']Sheet Protection:
worksheet['!protect']
For more features and detailed documentation, visit the SheetJS Documentation.
Contributing
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
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with SheetJS
Part of the Model Context Protocol ecosystem
Available Tools
1 toolread_excelB
Read an Excel file and return its contents as structured data
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the Excel file to read | |
| sheetName | No | Name of the sheet to read (optional) | |
| startRow | No | Starting row index (optional) | |
| maxRows | No | Maximum number of rows to read (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions reading and returning data, implying a read-only operation, but fails to address critical aspects like error handling (e.g., what happens if the file doesn't exist or is corrupted), performance considerations, or format specifics of the returned structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits and output format, which are important for a data-reading tool without structured output documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as examples or usage tips for the parameters, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Read') and resource ('an Excel file') with the outcome ('return its contents as structured data'). It's specific about what the tool does, but since there are no sibling tools mentioned, it cannot demonstrate differentiation from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It simply states what the tool does without context for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- First observed
read_excel
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'read_excel' has a clear and distinct purpose that cannot be confused with any other tool in the set.
The single tool name 'read_excel' follows a clear verb_noun pattern. Since there is only one tool, consistency is inherently perfect with no deviations or mixed conventions to evaluate.
A single tool is generally too few for a server named 'MCP Excel Reader', as it suggests a limited scope that may not support typical Excel-related workflows like writing, updating, or querying data. This feels thin for the apparent domain.
The tool surface is severely incomplete for an Excel reader domain. While reading is covered, there are significant gaps such as writing, editing, formatting, or analyzing Excel files, which will likely cause agent failures in broader tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
GrapeCity Software MCP for GcExcel docs, examples, and product assistance.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables reading and searching Excel files through MCP-compatible clients. Provides tools to retrieve workbook metadata, read sheet contents, and search across all sheets using absolute file paths.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and writing Excel files (text, formulas, and images on Windows) via MCP tools with pagination support.3MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for reading and writing .xls (Excel 97-2003) files, enabling data manipulation, sheet listing, and metadata retrieval.MIT
- AlicenseAqualityBmaintenanceMCP server for reading and inspecting local Excel files (.xlsx, .xlsm, .xls, .xlsb, .ods) with tools for inspecting metadata, reading ranges, and profiling structure.313MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ArchimedesCrypto/excel-reader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server