Excel MCP Server

Excel数据处理微服务

Local serverstdioTypeScript

What is the Excel MCP server?

Most developer tooling work still happens through a UI a human drives. Excel MCP server moves it into the conversation instead. Excel数据处理微服务.

The short version

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

  • 📖 Read Excel Files
  • Get worksheet list
  • Read specific worksheet data
  • Read all worksheets data
  • ✍️ Write Excel Files
  • Create new Excel files

The tools it exposes

The server publishes 8 tools. What each one is for:

  • 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)
  • targetFilePath — Target Excel file path
  • sheetName — Name of the sheet to read
  • headerRow — Header row number (default: 1)
  • dataStartRow — Data start row number (default: 2)
  • data — Array of data to write

What it needs from you

Configuration is passed through the environment: LOG_PATH, CACHE_MAX_AGE, CACHE_CLEANUP_INTERVAL, LOG_RETENTION_DAYS, LOG_CLEANUP_INTERVAL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Getting it running

The server ships on npm as @smithery/cli, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

How it compares

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Excel's toolset — Function, Parameters, headerRows and 5 more — is a fair guide to whether it matches your workflow. It is maintained by zhiwei5576; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Excel's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
FunctionGet Excel file structure including sheet list and column headers in JSON format
Parameters- fileAbsolutePath: Absolute path of the Excel file
headerRowsNumber of header rows (default: 1)
targetFilePathTarget Excel file path
sheetNameName of the sheet to read
headerRowHeader row number (default: 1)
dataStartRowData start row number (default: 2)
dataArray of data to write

How to install the Excel MCP server

Other Platforms:

```bash
{
  "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"
        }
    }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
LOG_PATHFilesystem location the server is allowed to use.Optional
CACHE_MAX_AGEConfiguration value read at startup.Optional
CACHE_CLEANUP_INTERVALConfiguration value read at startup.Optional
LOG_RETENTION_DAYSConfiguration value read at startup.Optional
LOG_CLEANUP_INTERVALConfiguration value read at startup.Optional

Example prompts to try

  • Use Excel to Function.
  • Use Excel to Parameters.
  • Use Excel to headerRows.

Frequently asked questions

Dependencies include `@modelcontextprotocol/sdk` (^1.7.0), `xlsx` (^0.18.5), and `typescript` (^5.8.2). Development dependencies also require `@types/node`, `nodemon`, and `ts-node`.