๐ ๐ - Excel workbook creation, data operations, formatting, charts, pivot tables and formulas
Excel MCP Server
ไปฅไธๆๅฝ่ช่ฏฅไปๅบ็ README๏ผ็ๆฎต๏ผ ยท ๅจ GitHub ่ฏปๅฎๆด README โ
An open-source Model Context Protocol (MCP) server that lets
Claude, Cursor, VS Code Copilot, Codex and other AI clients create, read and edit Excel files:
charts, PivotTables, formulas, tables and more. It is built on openpyxl, needs **no Microsoft
Excel**, and runs on Windows, macOS and Linux.
**Install and try it at excelmcpserver.com**, or see
Quick start below.
Features
**Charts and PivotTables**
- Create Excel charts with AI: column, bar, line, area, pie, doughnut, radar, scatter and
bubble, with combos, secondary axes, trendlines and error bars
- The Excel 2016 chart types: waterfall, histogram, Pareto, box and whisker, treemap, sunburst
and funnel
- Real PivotTables that Excel refreshes (grouping, calculated fields, "show values as",
layouts, filters), plus slicers and timelines for PivotTables and tables
- Sparklines (line, column, win/loss)
**Formulas and dynamic arrays**
- Formulas are calculated without Excel by a built-in engine (about 260 functions, checked
against more than 2,500 formulas recorded from real Excel), so read_range returns values
for files that were never opened in Excel
- Dynamic arrays (FILTER, SORT, UNIQUE, SEQUENCE, LET) are stored as Excel stores
them and spill into the cells next to them
**Data, tables and rules**
- Read and write cells, dates and hyperlinks; tables with totals rows and calculated columns
- Conditional formatting (scales, data bars, icon sets, top/bottom, duplicates, text, dates),
data validation (dropdowns, limits, input messages)
- Sort, filter (with criteria), find and replace, remove duplicates, text to columns, fill
series, paste special
- Fonts, fills, borders, number formats, merged cells, frozen panes, grouping, print setup,
sheet protection, images, notes and defined names. Inserting or deleting rows and columns
updates every reference, as in Excel
**Large files**
- Reads stream the workbook and return pages, so memory stays flat on sheets with hundreds of
thousands of rows; every call is bounded by size and cell limits
**Macros (opt-in)**
- Read the VBA code in .xlsm files. Writing VBA is off unless you start the server with
--allow-vba-write; the server never runs macros
**Safe by design**
- Optional folder confinement, a formula safety check, read-only mode, localhost-only HTTP by
default, and atomic saves that never leave a half-written file
Works with .xlsx, .xlsm (macros are preserved), .xltx and .xltm files. Existing
threaded comments, shapes, form controls and other content the tools cannot edit are kept as
they are.
Quick start
You need uv. Every client runs the
server with uvx excel-mcp-server stdio; replace /path/to/workbooks with the folder the
server may use. excelmcpserver.com has the same steps with copy
buttons and one-click install links for Cursor and VS Code.
**Claude Desktop (Chat)**: download
excel-mcp-server.mcpb
from the latest release and open it. Claude asks which folder the server may use.
**Claude Code** (the CLI, and the Code tab in Claude Desktop):
**Cursor** (~/.cursor/mcp.json), and most clients that use an mcpServers config:
**VS Code with GitHub Copilot** (.vscode/mcp.json, note the servers key):
OpenAI Codex, Gemini CLI, Devin Desktop, and Claude Desktop without the bundle
**OpenAI Codex** (CLI, IDE extension and app):
**Gemini CLI**:
**Devin Desktop**:
**Claude Desktop, manual setup**: open Settings, Developer, Edit Config, add the mcpServers
JSON above to claude_desktop_config.json, and restart Claude.
Desktop apps often cannot find uvx, because they do not see your shell's PATH (common
on macOS). Use its full path instead, which which uvx prints.
Choosing which files it can use
With --allow-dir DIR, the server only opens workbooks inside DIR (subfolders included)
and relative paths such as reports/q1.xlsx start there. Repeat the flag to allow several
folders, or set EXCEL_FILES_PATH (separate folders with : on macOS/Linux and ; on
Windows).
Without --allow-dir, any absolute path to an Excel file works. In every mode the server