Excel MCP Server
 
  简体中文 | English
 简体中文 | English
Excel file processing server based on Model Context Protocol (MCP), providing functionalities for reading, writing, and analyzing Excel files.
Features
Installation
Installing via Smithery
To install excel-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zhiweixu/excel-mcp-server --client claude
Installing Manually
Installing via NPM excel-mcp-server can be automatically installed by adding the following configuration to the MCP servers configuration.
Windows Platform:
{
  "mcpServers": {
    "excel": {
        "command": "cmd",
        "args": ["/c", "npx", "--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]"
        }
    }
}
Other Platforms:
{
  "mcpServers": {
    "excel": {
        "command": "npx",
        "args": ["--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]"
        }
    }
}
Note: LOG_PATH is optional. If not set, logs will be stored in the 'logs' folder under the application root directory.
API Tools
Structure Tools
- analyzeExcelStructure
* Function: Get Excel file structure including sheet list and column headers in JSON format
* Parameters: 
  * fileAbsolutePath: Absolute path of the Excel file
  * headerRows: Number of header rows (default: 1)
- exportExcelStructure
* Function: Export Excel file structure (sheets and headers) to a new Excel template file
* Parameters: 
  * sourceFilePath: Source Excel file path
  * targetFilePath: Target Excel file path
  * headerRows: Number of header rows (default: 1)
Read Tools
- readSheetNames
* Function: Get all sheet names from the Excel file
* Parameters: 
  * fileAbsolutePath: Absolute path of the Excel file
- readDataBySheetName
* Function: Get data from a specific sheet in the Excel file
* Parameters: 
  * fileAbsolutePath: Absolute path of the Excel file
  * sheetName: Name of the sheet to read
  * headerRow: Header row number (default: 1)
  * dataStartRow: Data start row number (default: 2)
- readSheetData
* Function: Get data from all sheets in the Excel file
* Parameters: 
  * fileAbsolutePath: Absolute path of the Excel file
  * headerRow: Header row number (default: 1)
  * dataStartRow: Data start row number (default: 2)
Write Tools
- writeDataBySheetName
* Function: Write data to a specific sheet in the Excel file (overwrites if sheet exists)
* Parameters: 
  * fileAbsolutePath: Absolute path of the Excel file
  * sheetName: Name of the sheet to write
  * data: Array of data to write
- writeSheetData
* Function: Create a new Excel file with provided data
* Parameters: 
  * fileAbsolutePath: Absolute path for the new Excel file
  * data: Object containing multiple sheet data
Cache Tools
- clearFileCache
 * Function: Clear cached data for the specified Excel file
 * Parameters:
- fileAbsolutePath: Absolute path of the Excel file to clear from cache
 
Configuration
- Cache Configuration - 
- Cache expiration time: 1 hour
- Cache cleanup interval: 4 hours
 
- Log Configuration - 
- Log retention days: 7 days
- Cleanup interval: 24 hours
 
Dependencies
- @modelcontextprotocol/sdk: ^1.7.0
- xlsx: ^0.18.5
- typescript: ^5.8.2
Development Dependencies
- @types/node: ^22.13.10
- nodemon: ^3.1.9
- ts-node: ^10.9.2
License
This project is licensed under the MIT License. This means you are free to:
- Use the software for commercial or non-commercial purposes 
- Modify the source code 
- Distribute original or modified code Requirements: 
- Retain the original copyright notice 
- No liability can be claimed against the authors for software use For detailed license information,please see the LICENSE file.