# excel-mcp-server
**Repository Path**: imcroft/excel-mcp-server
## Basic Information
- **Project Name**: excel-mcp-server
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: absolute-path-validation
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-05-12
- **Last Updated**: 2025-05-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Excel MCP Server
[](https://www.npmjs.com/package/@negokaz/excel-mcp-server)
[](https://smithery.ai/server/@negokaz/excel-mcp-server)
A Model Context Protocol (MCP) server that reads and writes MS Excel data.
## Features
- Read text values from MS Excel file
- Write text values to MS Excel file
- Read formulas from MS Excel file
- Write formulas to MS Excel file
**🪟Windows only:**
- Live editing MS Excel file
- Capture screen image from MS Excel file
For more details, see the [tools](#tools) section.
## Requirements
- Node.js 20.x or later
## Supported file formats
- xlsx (Excel book)
- xlsm (Excel macro-enabled book)
- xltx (Excel template)
- xltm (Excel macro-enabled template)
## Installation
### Installing via NPM
excel-mcp-server is automatically installed by adding the following configuration to the MCP servers configuration.
For Windows:
```json
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "@negokaz/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
```
For other platforms:
```json
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@negokaz/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
```
### Installing via Smithery
To install Excel MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@negokaz/excel-mcp-server):
```bash
npx -y @smithery/cli install @negokaz/excel-mcp-server --client claude
```
### `read_sheet_names`
List all sheet names in an Excel file.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
### `read_sheet_data`
Read data from Excel sheet with pagination.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `sheetName`
- Sheet name in the Excel file
- `range`
- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
- `knownPagingRanges`
- List of already read paging ranges
### `read_sheet_formula`
Read formulas from Excel sheet with pagination.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `sheetName`
- Sheet name in the Excel file
- `range`
- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
- `knownPagingRanges`
- List of already read paging ranges
### `read_sheet_image`
**[Windows only]** Read data as an image from the Excel sheet with pagination.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `sheetName`
- Sheet name in the Excel file
- `range`
- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
- `knownPagingRanges`
- List of already read paging ranges
### `write_sheet_data`
Write data to the Excel sheet.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `sheetName`
- Sheet name in the Excel file
- `newSheet`
- Create a new sheet if true, otherwise write to the existing sheet
- `range`
- Range of cells to read in the Excel sheet (e.g., "A1:C10").
- `data`
- Data to write to the Excel sheet
### `write_sheet_formula`
Write formulas to the Excel sheet.
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `sheetName`
- Sheet name in the Excel file
- `newSheet`
- Create a new sheet if true, otherwise write to the existing sheet
- `range`
- Range of cells to read in the Excel sheet (e.g., "A1:C10").
- `formulas`
- Formulas to write to the Excel sheet (e.g., "=A1+B1")
### `copy_sheet`
Copy existing sheet to a new sheet
**Arguments:**
- `fileAbsolutePath`
- Absolute path to the Excel file
- `srcSheetName`
- Source sheet name in the Excel file
- `dstSheetName`
- Sheet name to be copied
Configuration
You can change the MCP Server behaviors by the following environment variables:
### `EXCEL_MCP_PAGING_CELLS_LIMIT`
The maximum number of cells to read in a single paging operation.
[default: 4000]
## License
Copyright (c) 2025 Kazuki Negoro
excel-mcp-server is released under the [MIT License](LICENSE)