
Excel Mcp
Automate Windows Excel workbooks through MCP—tables, Power Query, DAX, PivotTables, charts, and VBA—when your agent needs spreadsheet ops beyond copy-paste.
Overview
Excel MCP is an agent skill for the Build phase that guides assistants through 227 MCP Excel tools for workbook create-edit-analyze workflows on Windows.
Install
npx skills add https://github.com/sbroenne/mcp-server-excel --skill excel-mcpWhat is this skill?
- 227 Excel operations via MCP through shared ExcelMCP Service (session-compatible with CLI)
- Six-step workflow checklist: open/create → sheets → set-values → format → table → close with save
- Power Query (M), Data Model/DAX, PivotTables, Slicers, charts, VBA macros, and screenshots
- Calculation mode workflow documented for batch performance on bulk writes
- Windows full paths required; workbook must not be open in another Excel instance
- 227 Excel operations exposed via MCP
- 6-step workflow checklist from open through save-close
Adoption & trust: 1.1k installs on skills.sh; 186 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent can reason about spreadsheets but lacks a structured playbook for Excel MCP tools, quirks, and save-safe workflows on Windows.
Who is it for?
Windows-based solo builders connecting Claude or Cursor to live Excel models, reports, and dashboards via MCP.
Skip if: macOS or Linux-only setups, Google Sheets-only stacks, or teams without locally installed Excel.
When should I use this skill?
Assistant needs MCP tools for Excel, spreadsheet, workbook, xlsx, xlsm, Power Query, DAX, PivotTable, chart, dashboard, or VBA on Windows.
What do I get? / Deliverables
Agents follow a documented six-step pipeline and calculation-mode patterns to produce saved, formatted workbooks without fighting open-file and path constraints.
- Modified or new xlsx/xlsm workbooks saved via MCP file close
- Formatted ranges, tables, charts, or PivotTables per agent instructions
Recommended Skills
Journey fit
How it compares
Skill package documenting MCP tools—not a cloud spreadsheet API or a Python-only openpyxl replacement.
Common Questions / FAQ
Who is excel-mcp for?
Indie builders and analysts on Windows who want agents to manipulate real Excel files through MCP with Power Query, DAX, and PivotTable coverage.
When should I use excel-mcp?
During build when integrating reporting, financial models, or ops dashboards—triggers include Excel, xlsx, workbook, Power Query, DAX, PivotTable, chart, VBA, and MCP.
Is excel-mcp safe to install?
It enables file and macro-level workbook changes on your machine; review the Security Audits panel on this Prism page and restrict MCP to trusted paths.
SKILL.md
READMESKILL.md - Excel Mcp
# Excel MCP Server Skill Provides 227 Excel operations via Model Context Protocol. The MCP Server forwards all requests to the shared ExcelMCP Service, enabling session sharing with CLI. Tools are auto-discovered - this documents quirks, workflows, and gotchas. ## Workflow Checklist | Step | Tool | Action | When | |------|------|--------|------| | 1. Open file | `file` | `open` or `create` | Always first | | 2. Create sheets | `worksheet` | `create`, `rename` | If needed | | 3. Write data | `range` | `set-values` | Always (2D arrays) | | 4. Format | `range` | `set-number-format` | After writing | | 5. Structure | `table` | `create` | Convert data to tables | | 6. Save & close | `file` | `close` with `save: true` | Always last | ## Preconditions - Windows host with Microsoft Excel installed (2016+) - Use full Windows paths: `C:\Users\Name\Documents\Report.xlsx` - Excel files must not be open in another Excel instance ## Calculation Mode Workflow (Batch Performance) Use `calculation_mode` for **bulk write performance optimization**. When writing many values or formulas, disable auto-recalc to avoid recalculating after every cell: ``` 1. calculation_mode(action: 'set-mode', mode: 'manual') → Disable auto-recalc 2. Perform all writes (range set-values, set-formulas) 3. calculation_mode(action: 'calculate', scope: 'workbook') → Recalculate once 4. calculation_mode(action: 'set-mode', mode: 'automatic') → Restore default ``` **Note:** You do NOT need manual mode to read formulas - `range get-formulas` returns formula text regardless of calculation mode. ## CRITICAL: Execution Rules (MUST FOLLOW) ### Rule 1: NEVER Ask Clarifying Questions **STOP.** If you're about to ask "Which file?", "What table?", "Where should I put this?" - DON'T. | Bad (Asking) | Good (Discovering) | |--------------|-------------------| | "Which Excel file should I use?" | `file(list)` → use the open session | | "What's the table name?" | `table(list)` → discover tables | | "Which sheet has the data?" | `worksheet(list)` → check all sheets | | "Should I create a PivotTable?" | YES - create it on a new sheet | **You have tools to answer your own questions. USE THEM.** ### Rule 2: Always End With a Text Summary **NEVER end your turn with only a tool call.** After completing all operations, always provide a brief text message confirming what was done. Silent tool-call-only responses are incomplete. ### Rule 3: Format Data Professionally Always apply number formats after setting values: | Data Type | Format Code | Result | |-----------|-------------|--------| | USD | `$#,##0.00` | $1,234.56 | | EUR | `€#,##0.00` | €1,234.56 | | Percent | `0.00%` | 15.00% | | Date (ISO) | `yyyy-mm-dd` | 2025-01-22 | **Workflow:** ``` 1. range set-values (data is now in cells) 2. range set-number-format (apply format) ``` ### Rule 4: Use Excel Tables (Not Plain Ranges) Always convert tabular data to Excel Tables: ``` 1. range set-values (write data including headers) 2. table create tableName="SalesData" rangeAddress="A1:D100" ``` **Why:** Structured references, auto-expand, required for Data Model/DAX. ### Rule 5: Session Lifecycle ``` 1. file(action: 'open', path: '...') → sessionId 2. All operations use sessionId 3. file(action: 'close', save: true) → saves and closes ``` **Unclosed sessions leave Excel processes running, locking files.** ### Rule 6: Data Model Prerequisites DAX operations require tables in the Data Model: ``` Step 1: Create table → Table exists Step 2: tabl