logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

excel-mcp-server

Read, write, and analyze Excel files while seamlessly managing data through various functionalities, including accessing multiple worksheets and exporting structure information.

Author

excel-mcp-server logo

zhiwei5576

MIT License

Quick Info

GitHub GitHub Stars 41
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

excelworksheetsexportingzhiwei5576 excelexcel filesdocument processing

Excel MCP Server

npm smithery badge 简体中文 | English

Excel file processing server based on Model Context Protocol (MCP), providing functionalities for reading, writing, and analyzing Excel files.

Features

  • 📖 Read Excel Files

  • Get worksheet list

  • Read specific worksheet data
  • Read all worksheets data

  • ✍️ Write Excel Files

  • Create new Excel files

  • Write to specific worksheet
  • Support multiple worksheets

  • 🔍 Analyze Excel Structure

  • Analyze worksheet structure

  • Export structure to new file

  • 💾 Cache Management

  • Automatic file content caching

  • Scheduled cache cleanup
  • Manual cache clearing

  • 📝 Log Management

  • Automatic operation logging
  • Periodic log cleanup

Installation

Installing via Smithery

To install excel-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @zhiwei5576/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]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

Other Platforms:

{
  "mcpServers": {
    "excel": {
        "command": "npx",
        "args": ["--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

Note: LOG_PATH is optional. If not set, logs will be stored in the 'logs' folder under the application root directory.other arguments are optional.

API Tools

Structure Tools

  1. analyzeExcelStructure
  2. Function: Get Excel file structure including sheet list and column headers in JSON format
  3. Parameters:

    • fileAbsolutePath: Absolute path of the Excel file
    • headerRows: Number of header rows (default: 1)
  4. exportExcelStructure

  5. Function: Export Excel file structure (sheets and headers) to a new Excel template file
  6. Parameters:
    • sourceFilePath: Source Excel file path
    • targetFilePath: Target Excel file path
    • headerRows: Number of header rows (default: 1)

Read Tools

  1. readSheetNames
  2. Function: Get all sheet names from the Excel file
  3. Parameters:

    • fileAbsolutePath: Absolute path of the Excel file
  4. readDataBySheetName

  5. Function: Get data from a specific sheet in the Excel file
  6. 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)
  7. readSheetData

  8. Function: Get data from all sheets in the Excel file
  9. Parameters:
    • fileAbsolutePath: Absolute path of the Excel file
    • headerRow: Header row number (default: 1)
    • dataStartRow: Data start row number (default: 2)

Write Tools

  1. writeDataBySheetName
  2. Function: Write data to a specific sheet in the Excel file (overwrites if sheet exists)
  3. Parameters:

    • fileAbsolutePath: Absolute path of the Excel file
    • sheetName: Name of the sheet to write
    • data: Array of data to write
  4. writeSheetData

  5. Function: Create a new Excel file with provided data
  6. Parameters:
    • fileAbsolutePath: Absolute path for the new Excel file
    • data: Object containing multiple sheet data

Cache Tools

  1. clearFileCache
  2. Function: Clear cached data for the specified Excel file
  3. Parameters:
    • fileAbsolutePath: Absolute path of the Excel file to clear from cache

Configuration

Environment Variables

  • LOG_PATH: Log files storage path
  • Optional
  • Default: 'logs' folder under application root directory

  • CACHE_MAX_AGE: Cache expiration time (hours)

  • Optional
  • Default: 1

  • CACHE_CLEANUP_INTERVAL: Cache cleanup interval (hours)

  • Optional
  • Default: 4

  • LOG_RETENTION_DAYS: Log retention days

  • Optional
  • Default: 7

  • LOG_CLEANUP_INTERVAL: Log cleanup interval (hours)

  • Optional
  • Default: 24

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

See Also

`