Skip to main content
Glama
softgridinc-pte-ltd

Excel Reader Server

README.md
[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/softgridinc-pte-ltd-mcp-excel-reader-server-badge.png)](https://mseep.ai/app/softgridinc-pte-ltd-mcp-excel-reader-server)

# Excel Reader Server

A Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files.

<a href="https://glama.ai/mcp/servers/kniyyx0gej">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/kniyyx0gej/badge" alt="Excel Reader Server MCP server" />
</a>

## 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.

```bash
# 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.

```python
{
  "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.

```python
{
  "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).

```python
{
  "file_path": "path/to/your/excel/file.xlsx",
  "sheet_index": 0  # optional
}
```

## Response Format

The server returns data in the following JSON format:

```json
{
  "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.

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation2/5

The tools have significant overlap in purpose, as all three are focused on reading Excel files, with only minor variations in how they specify the sheet. An agent might easily confuse them or struggle to choose the right one for a given task, since the distinctions are subtle and not clearly differentiated in the descriptions.

Naming Consistency5/5

The tool names follow a consistent verb_noun pattern with 'read_excel' as the base, and suffixes like '_by_sheet_index' and '_by_sheet_name' that clearly indicate the specific functionality. This makes the naming predictable and easy to understand across the set.

Tool Count3/5

With only 3 tools, the server feels thin for a domain like Excel reading, which might benefit from additional operations such as writing, listing sheets, or handling different file formats. However, the count is not extreme and could be considered borderline for basic functionality.

Completeness2/5

The tool set is severely incomplete for an Excel server, as it only covers reading operations and lacks any writing, updating, or other common Excel functionalities like formatting, formula evaluation, or metadata access. This will likely cause agent failures when more comprehensive tasks are required.

Maintenance

ActivityInactive
ResponsivenessNo issues