Excel MCP Server

A Model Context Protocol (MCP) server that reads and writes MS Excel data

Local serverstdio

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. A Model Context Protocol (MCP) server that reads and writes MS Excel data.

The short version

  • Read/Write text values
  • Read/Write formulas
  • Create new sheets
  • Capture screen image from a sheet

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.

The tools it exposes

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

  • 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]
  • showFormula — Show formula instead of value [default: false]
  • showStyle — Show style information for cells [default: false]
  • newSheet — Create a new sheet if true, otherwise write to the existing sheet
  • values — Values to write to the Excel sheet. If the value is a formula, it should start with "="
  • tableName — Table name to be created
  • srcSheetName — Source sheet name in the Excel file
  • dstSheetName — Sheet name to be copied
  • styles — 2D array of style objects for each cell. If a cell does not change style, use null. The number of items of the array must match the range size
  • border — Array of border styles (type, color, style)

What it needs from you

Configuration is passed through the environment: EXCEL_MCP_PAGING_CELLS_LIMIT. 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.

  • Node.js 20.x or later

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.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Excel.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How it compares

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Excel's toolset — fileAbsolutePath, sheetName, range and 11 more — is a fair guide to whether it matches your workflow. It is maintained by negokaz; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
fileAbsolutePathAbsolute path to the Excel file
sheetNameSheet name in the Excel file
rangeRange of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
showFormulaShow formula instead of value [default: false]
showStyleShow style information for cells [default: false]
newSheetCreate a new sheet if true, otherwise write to the existing sheet
valuesValues to write to the Excel sheet. If the value is a formula, it should start with "="
tableNameTable name to be created
srcSheetNameSource sheet name in the Excel file
dstSheetNameSheet name to be copied
styles2D array of style objects for each cell. If a cell does not change style, use null. The number of items of the array must match the range size.
borderArray of border styles (type, color, style)
fontFont styling (bold, italic, underline, size, strike, color, vertAlign)
fillFill/background styling (type, pattern, color, shading)

How to install the Excel MCP server

{
    "mcpServers": {
        "excel": {
            "command": "cmd",
            "args": ["/c", "npx", "--yes", "@negokaz/excel-mcp-server"],
            "env": {
                "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
            }
        }
    }
}

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

Configuration

  • Node.js 20.x or later
VariableDescriptionRequired
EXCEL_MCP_PAGING_CELLS_LIMITConfiguration value read at startup.Optional

Example prompts to try

  • Use Excel to fileAbsolutePath.
  • Use Excel to sheetName.
  • Use Excel to range.

Frequently asked questions

Node.js 20.x or later is required to run the server.