Excel Reader Server
LocalAbout Excel Reader Server
An MCP server for reading Excel .xlsx files. It provides tools to retrieve every sheet or a selected sheet, returning rows as JSON for applications that use MCP tools.
Key features
- 01Read all workbook sheets
- 02Read a sheet by name
- 03Read a sheet by index
- 04Return rows as JSON
- 05Convert empty cells and values
Use cases
- 01Extracting workbook data for analysis
- 02Reading a named sheet from a file
- 03Retrieving a sheet by its position
MCP support
Exposes three tools to MCP clients for reading all sheets or selecting a sheet by name or index. Results are returned as JSON.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEExcel Reader Server
A Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files.
Features
- Read content from all sheets in an Excel file
- Read content from a specific sheet by name
- Read content from a specific sheet by index
- Returns data in JSON format
- Handles empty cells and data type conversions
Installation
Requires Python 3.10 or higher.
# Using pip
pip install excel-reader-server
# Using uv (recommended)
uv pip install excel-reader-server
Dependencies
- mcp >= 1.2.1
- openpyxl >= 3.1.5
Usage
The server provides three main tools:
1. read_excel
Reads content from all sheets in an Excel file.
{
"file_path": "path/to/your/excel/file.xlsx"
}
2. read_excel_by_sheet_name
Reads content from a specific sheet by name. If no sheet name is provided, reads the first sheet.
{
"file_path": "path/to/your/excel/file.xlsx",
"sheet_name": "Sheet1" # optional
}
3. read_excel_by_sheet_index
Reads content from a specific sheet by index. If no index is provided, reads the first sheet (index 0).
{
"file_path": "path/to/your/excel/file.xlsx",
"sheet_index": 0 # optional
}
Response Format
The server returns data in the following JSON format:
{
"Sheet1": [
["Header1", "Header2", "Header3"],
["Value1", "Value2", "Value3"],
["Value4", "Value5", "Value6"]
]
}
- Each sheet is represented as a key in the top-level object
- Sheet data is an array of arrays, where each inner array represents a row
- All values are converted to strings
- Empty cells are represented as empty strings
Error Handling
The server provides clear error messages for common issues:
- File not found
- Invalid sheet name
- Index out of range
- General Excel file reading errors
License
This project is released under the Apache 2 License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
