
Excel Reader Server
A MS excel server based on modelcontextprotocol
what is Excel Reader Server?
Excel Reader Server is a Model Context Protocol (MCP) server designed to read and process Excel (xlsx) files efficiently.
how to use Excel Reader Server?
To use the Excel Reader Server, install it via pip, and utilize its main tools to read content from Excel files by specifying the file path, sheet name, or sheet index.
key features of Excel Reader Server?
- Read content from all sheets in an Excel file
- Read content from a specific sheet by name or index
- Returns data in JSON format
- Handles empty cells and data type conversions
use cases of Excel Reader Server?
- Extracting data from Excel files for data analysis.
- Integrating Excel data into web applications.
- Automating the reading of Excel reports for business intelligence.
FAQ from Excel Reader Server?
- What formats does the server support?
The server supports reading .xlsx files.
- How do I handle errors while reading an Excel file?
The server provides clear error messages for common issues like file not found or invalid sheet names.
- Is there a limit to the size of the Excel file?
The server can handle large files, but performance may vary based on system resources.
Excel 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.
