# Excel MCP Server

> Lets your agent create, read and edit Excel workbooks, with charts, PivotTables, formulas and tables, without Microsoft Excel.

Excel MCP Server is an open-source MCP server by Haris that lets your agent create, read and edit Excel files: charts, PivotTables, formulas, tables and more. It's built on openpyxl, needs no Microsoft Excel, and runs on Windows, macOS and Linux. It's a community project, not a Microsoft product.

What you can do with it
- Create charts, including combos, trendlines and the Excel 2016 types such as waterfall, histogram, treemap and funnel
- Build real PivotTables that Excel refreshes, with slicers, timelines and sparklines
- Read and write cells, tables, formulas and dynamic arrays; a built-in engine calculates formulas, so values come back even for files never opened in Excel
- Find out why a number is wrong: trace precedents and dependents, step through a formula, and run Goal Seek
- Format ranges, add conditional formatting and data validation, and sort, filter, find and replace
- Import and export CSV, and read the VBA in .xlsm files (writing VBA is opt-in)

How it connects
It runs on your machine with uv: uvx excel-mcp-server stdio. Add --allow-dir /path/to/workbooks to keep it to one folder (repeat the flag for more, or set EXCEL_FILES_PATH). Claude Desktop can install it from the .mcpb bundle in the project's releases, and the README has setup for Claude Code, Cursor, VS Code with GitHub Copilot, Codex, Gemini CLI and Devin Desktop. It can also run as a Streamable HTTP server on localhost.

Good to know
- --read-only offers only the tools that don't change files, and --tools limits it to the areas you need, to save context.
- Without --allow-dir, any absolute path to an Excel file works. It only touches Excel files and never silently overwrites an existing workbook.
- It works with .xlsx, .xlsm, .xltx and .xltm files, not legacy .xls.
- It rejects formulas that reach the network or other programs, and it never runs macros.

- Type: Plugin
- Made by: haris-musa
- Category: Productivity
- Formats: Local MCP
- Version: 2.2.2
- Website: https://excelmcpserver.com
- Source: https://github.com/haris-musa/excel-mcp-server
- Page: https://pluginboard.ai/plugins/excel-mcp-server

## Works with

- Claude
- GitHub Copilot
- Cursor
- Claude Code
- Codex
- Antigravity
- Gemini CLI
- OpenClaw
- OpenCode
- Hermes Agent

## Install

### Claude

Add to claude_desktop_config.json:

```json
{
  "mcpServers": {
    "excel-mcp-server": {
      "command": "uvx",
      "args": [
        "excel-mcp-server==2.2.2",
        "stdio"
      ]
    }
  }
}
```

### GitHub Copilot

Add to VS Code: vscode:mcp/install?%7B%22name%22%3A%22excel-mcp-server%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22excel-mcp-server%3D%3D2.2.2%22%2C%22stdio%22%5D%7D

Run in your terminal:

```shell
code --add-mcp '{"name":"excel-mcp-server","command":"uvx","args":["excel-mcp-server==2.2.2","stdio"]}'
```

Copilot CLI:

```shell
copilot mcp add excel-mcp-server -- uvx excel-mcp-server==2.2.2 stdio
```

### Cursor

Add to Cursor: cursor://anysphere.cursor-deeplink/mcp/install?name=excel-mcp-server&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJleGNlbC1tY3Atc2VydmVyPT0yLjIuMiIsInN0ZGlvIl19

Add to .cursor/mcp.json:

```json
{
  "mcpServers": {
    "excel-mcp-server": {
      "command": "uvx",
      "args": [
        "excel-mcp-server==2.2.2",
        "stdio"
      ]
    }
  }
}
```

### Claude Code

Run in your terminal:

```shell
claude mcp add excel-mcp-server -- uvx excel-mcp-server==2.2.2 stdio
```

### Codex

Run in your terminal:

```shell
codex mcp add excel-mcp-server -- uvx excel-mcp-server==2.2.2 stdio
```

### Antigravity

Add to ~/.gemini/config/mcp_config.json:

```json
{
  "mcpServers": {
    "excel-mcp-server": {
      "command": "uvx",
      "args": [
        "excel-mcp-server==2.2.2",
        "stdio"
      ]
    }
  }
}
```

### Gemini CLI

Run in your terminal:

```shell
gemini mcp add excel-mcp-server uvx excel-mcp-server==2.2.2 stdio
```

### OpenClaw

In a terminal: Run openclaw mcp add excel-mcp-server --command uvx, with --arg before each argument (excel-mcp-server==2.2.2 stdio) and --env NAME=value for each variable it needs.

### OpenCode

Run in your terminal:

```shell
opencode mcp add excel-mcp-server -- uvx excel-mcp-server==2.2.2 stdio
```

### Hermes Agent

Add to ~/.hermes/config.yaml:

```json
{
  "mcp_servers": {
    "excel-mcp-server": {
      "command": "uvx",
      "args": [
        "excel-mcp-server==2.2.2",
        "stdio"
      ]
    }
  }
}
```

---
From Pluginboard (https://pluginboard.ai).
