P
mcp-excel-reader-server
...
Created 2/19/2025bysoftgridinc-pte-ltd
Language:
Python
Stars:
0
Forks:
0
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 MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Last updated: 2/20/2025
Publisher info
More MCP servers built with Python
mcp-logo-gen
By sshtunnelvision137