# Excel MCP Server

An MCP server that lets your agent read and edit Excel workbooks: formulas, PivotTables, charts. Microsoft Excel is not required.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 4259
- Author: haris-musa
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/haris-musa/excel-mcp-server
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/excel-mcp-server

## What it does

The server is built on `openpyxl` and runs on Windows, macOS and Linux. A built-in engine evaluates formulas, so `read_range` returns values for workbooks that were never opened in Excel. Dynamic arrays such as `FILTER` and `SORT` are stored the way Excel stores them and spill into neighbouring cells.

Charts (including the Excel 2016 types), real PivotTables with grouping and calculated fields, sparklines, conditional formatting, data validation, formula tracing and Goal Seek are all there. Large sheets are read in pages, and edits parse only the rows they touch — inserting rows on a 200,000-row sheet takes seconds, not minutes. Supported formats: `.xlsx`, `.xlsm`, `.xltx`, `.xltm`.

It runs through `uvx`, so `uv` has to be installed first. Desktop apps often cannot find `uvx` because they do not see your shell's `PATH`; use the full path that `which uvx` prints. VBA writing stays off until you start the server with `--allow-vba-write`, and macros are never executed.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add excel-mcp-server -- uvx excel-mcp-server
```
uvx runs the command named after the package; if the README names another one, use uvx --from excel-mcp-server <command>

### Codex

**Platform CLI**
```bash
codex mcp add excel-mcp-server -- uvx excel-mcp-server
```
uvx runs the command named after the package; if the README names another one, use uvx --from excel-mcp-server <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "excel-mcp-server": {
            "command": "uvx",
            "args": [
                "excel-mcp-server"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from excel-mcp-server <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "excel-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "excel-mcp-server"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from excel-mcp-server <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add excel-mcp-server uvx excel-mcp-server
```
uvx runs the command named after the package; if the README names another one, use uvx --from excel-mcp-server <command>

## When to use it
- build a workbook with a chart and a PivotTable from raw data
- evaluate formulas in a file Excel never opened
- trace where a wrong number in a report comes from
- insert rows into a 200,000-row sheet without waiting minutes
- read VBA code out of an `.xlsm` file

## Example prompts
- Build a PivotTable by month in `reports/q1.xlsx` from the sales sheet
- Add a chart and sparklines for the revenue column
- Show which cells feed `B12` and walk through the formula step by step

## Similar
- [Power BI Authoring MCP Server (Local)](https://affpapa.org/en/nevibecode/mcp/power-bi-authoring-mcp-server-local.md) — MCP server · ★ 1247
- [anymd](https://affpapa.org/en/nevibecode/mcp/anymd.md) — MCP server · ★ 1051
- [Docling MCP](https://affpapa.org/en/nevibecode/mcp/docling-mcp.md) — MCP server · ★ 777
- [OpenTakeoff](https://affpapa.org/en/nevibecode/mcp/opentakeoff.md) — MCP server · ★ 667
- [canvas-mcp](https://affpapa.org/en/nevibecode/mcp/canvas-mcp.md) — MCP server · ★ 307
- [reMarkable MCP Server](https://affpapa.org/en/nevibecode/mcp/remarkable-mcp-server.md) — MCP server · ★ 252

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
