# haris-musa/excel-mcp-server [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/haris-musa/excel-mcp-server  
**GitHub Stars:** 4267  
**Views:** 14  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/haris-musa-excel-mcp-server

## Description
An Excel manipulation server providing workbook creation, data operations, formatting, and advanced features (charts, pivot tables, formulae).

## Tools
Capabilities this server exposes over MCP:

- **comma**
- **semicolon**
- **tab**
- **pipe**
- **cp1252**
- **decimal**
- **formatted**

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

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

## Documentation

## What haris-musa/excel-mcp-server MCP server does

haris-musa/excel-mcp-server MCP server connects AI clients to Excel workbook files through the Model Context Protocol. It can create workbooks, inspect and modify cells, manage worksheets, apply formatting, and work with tables, formulas, charts, and PivotTables. Microsoft Excel is not required because the server is built on openpyxl and includes a formula calculation engine.

The server supports `.xlsx`, `.xlsm`, `.xltx`, and `.xltm` files. Macro-enabled files retain their macros, while reading VBA is supported and writing VBA requires an explicit opt-in. The server does not execute macros. Existing workbook content that its tools do not edit, including shapes and form controls, is preserved.

This fits the Workplace & Productivity category for tasks such as updating reports, extracting spreadsheet data, preparing formatted workbooks, and applying repeatable spreadsheet transformations from an AI client.

## How it works

The normal operating mode is stdio. A client starts the package with `uvx excel-mcp-server stdio`, and the server exposes workbook operations over MCP. Files can be limited to one or more approved folders with `--allow-dir`; subfolders are included, and relative workbook paths resolve from the approved location. The `EXCEL_FILES_PATH` environment variable provides an alternative folder configuration.

A streamable HTTP mode is also available. It listens at `/mcp`, uses localhost by default, and stores workbooks in the configured directory. `export_workbook` and `import_workbook` move files between the client and server. Remote access requires configuring a host and bearer token, and the documentation recommends placing TLS in front of network use.

Large sheets are read in pages, and calls are bounded by configurable file and cell limits. Atomic saves help prevent partially written workbooks. The server can also refuse unsafe or oversized workbook packages.

## Setup and configuration

Install `uv` before starting the server. Cursor and clients using an `mcpServers` configuration can launch it with a command such as `uvx excel-mcp-server stdio --allow-dir /path/to/workbooks`. VS Code uses an MCP configuration with a `servers` key. Claude Desktop can use the provided MCP bundle or a manual configuration, while Claude Code, Codex, and Gemini CLI provide command-line registration examples.

Useful options include:

- `--read-only` exposes only operations that do not change files.
- `--allow-vba-write` enables VBA-writing tools and is ignored in read-only mode.
- `--tools` restricts exposed tool areas to reduce context usage.
- `--max-file-mb`, `--max-cells`, and `--max-pivot-cells` control resource limits.
- `EXCEL_MCP_AUTH_TOKEN` protects streamable HTTP connections when authentication is enabled.

## Tools and capabilities

haris-musa/excel-mcp-server MCP server provides workbook creation and cell-level read and write operations, including dates and hyperlinks. Its spreadsheet features include formulas, dynamic arrays, formula tracing, stepwise formula evaluation, and Goal Seek. It can create and modify charts such as column, line, pie, scatter, bubble, waterfall, histogram, treemap, sunburst, and funnel charts.

The server also handles PivotTables, slicers, timelines, tables, totals rows, calculated columns, conditional formatting, data validation, sorting, filtering, find-and-replace, duplicate removal, text-to-columns, fill series, and paste special. Formatting operations cover fonts, fills, borders, number formats, merged cells, frozen panes, grouping, print setup, sheet protection, images, notes, and defined names.

Row and column insertion or deletion updates workbook references. Streaming reads help with sheets containing hundreds of thousands of rows, while per-call limits constrain the amount processed at once.

## Limitations and notes

The server does not require or launch Microsoft Excel, so behavior depends on its openpyxl-based implementation and built-in formula engine. VBA writing is disabled unless explicitly enabled, and macros are never run by the server. Read-only mode prevents file-changing operations.

Without `--allow-dir`, stdio accepts absolute Excel file paths. With folder confinement enabled, only workbooks inside the approved directories can be opened. The server does not silently overwrite an existing workbook. HTTP mode binds to localhost by default; exposing it to other machines requires deliberate host, token, and network configuration.

_Full upstream README: https://allmcps.com/mcp/haris-musa-excel-mcp-server/readme_

