Automate Excel with AI - A Model Context Protocol (MCP) server for comprehensive Excel automation through conversational AI.
MCP Server for Excel enables AI assistants (GitHub Copilot, Claude, ChatGPT) to automate Excel through natural language commands. Automate Power Query, DAX measures, VBA macros, PivotTables, Charts, formatting, and data transformations (23 tools with 214 operations).
This package provides both CLI and MCP Server interfaces. Choose based on your use case:
| Interface | Best For | Why |
|---|---|---|
CLI (excelcli) |
Coding agents (Copilot, Cursor, Windsurf) | 64% fewer tokens - single tool, no large schemas. Better for cost-sensitive, high-throughput automation. |
| MCP Server | Conversational AI (Claude Desktop, VS Code Chat) | Rich tool discovery, persistent connection. Better for interactive, exploratory workflows. |
๐ Benchmark Results (same task, same model)
| Metric | CLI | MCP Server | Winner |
|---|---|---|---|
| Tokens | ~59K | ~163K | ๐ CLI (64% fewer) |
Key insight: MCP sends 23 tool schemas to the LLM on each request (~100K+ tokens). CLI wraps everything in one excel_execute tool and offloads guidance to a skill file.
Installation:
# CLI for coding agents
dotnet tool install --global Sbroenne.ExcelMcp.CLI
excelcli --help
# MCP Server for AI assistants (or use VS Code extension)
dotnet tool install --global Sbroenne.ExcelMcp.McpServer๐ก๏ธ 100% Safe - Uses Excel's Native COM API - Zero risk of file corruption. Unlike third-party libraries that manipulate .xlsx files directly, this project uses Excel's official API ensuring complete safety and compatibility.
๐ก Interactive Development - See results instantly in Excel. Create a query, run it, inspect the output, refine and repeat. Excel becomes your AI-powered workspace for rapid development and testing.
๐งช LLM-Tested Quality - Tool behavior validated with real LLM workflows using pytest-aitest. We test that LLMs correctly understand and use our tools.
Optional CLI Tool: For advanced users who prefer command-line scripting, ExcelMcp includes a CLI interface for RPA workflows, CI/CD pipelines, and batch automation.
Requirements: Windows OS + Microsoft Excel 2016+
Fastest way to get started - everything configured automatically: Install from Marketplace
The extension opens automatically after installation with a quick start guide!
Download the .mcpb file from the latest release and double-click to install.
๐ Complete Installation Guide โ - Step-by-step setup for all AI assistants with ready-to-use config files
23 specialized tools with 214 operations:
- ๐ Power Query (1 tool, 11 ops) - Atomic workflows, M code management, load destinations
- ๐ Data Model/DAX (2 tools, 18 ops) - Measures with auto-formatted DAX, relationships, model structure
- ๐จ Excel Tables (2 tools, 27 ops) - Lifecycle, filtering, sorting, structured references
- ๐ PivotTables (3 tools, 30 ops) - Creation, fields, aggregations, calculated members/fields
- ๐ Charts (2 tools, 26 ops) - Create, configure, series, formatting, data labels, trendlines
- ๐ VBA (1 tool, 6 ops) - Modules, execution, version control
- ๐ Ranges (4 tools, 42 ops) - Values, formulas, formatting, validation, protection
- ๐ Worksheets (2 tools, 16 ops) - Lifecycle, colors, visibility, cross-workbook moves
- ๐ Connections (1 tool, 9 ops) - OLEDB/ODBC management and refresh
- ๐ท๏ธ Named Ranges (1 tool, 6 ops) - Parameters and configuration
- ๐ Files (1 tool, 6 ops) - Session management and workbook creation
- ๐งฎ Calculation Mode (1 tool, 3 ops) - Get/set calculation mode and trigger recalculation
- ๏ฟฝ๏ธ Slicers (1 tool, 8 ops) - Interactive filtering for PivotTables and Tables
- ๏ฟฝ๐จ Conditional Formatting (1 tool, 2 ops) - Rules and clearing
๐ Complete Feature Reference โ - Detailed documentation of all 214 operations
Create & Populate Data:
- "Create a new Excel file called SalesTracker.xlsx with a table for Date, Product, Quantity, Unit Price, and Total with sample data"
- "Put this data in A1:C4 - Name, Age, City / Alice, 30, Seattle / Bob, 25, Portland"
- "Add a formula column that calculates Quantity times Unit Price"
Analysis & Visualization:
- "Create a PivotTable from this data showing total sales by Product, then add a bar chart"
- "Use Power Query to import products.csv, load it to the Data Model, and create a measure for Total Revenue"
- "Create a slicer for the Region field so I can filter the PivotTable interactively"
- "Create a relationship between the Orders and Products tables using ProductID"
Formatting & Styling:
- "Format the Price column as currency and highlight values over $500 in green"
- "Convert this range to an Excel Table with a blue style and add a totals row"
- "Make the headers bold with a dark background and auto-fit column widths"
Automation:
- "Export all Power Query M code to files for version control"
- "Run the UpdatePrices macro"
- "Show me Excel while you work" - watch changes in real-time
Perfect for:
- โ Data analysts automating repetitive Excel workflows
- โ Developers building Excel-based data solutions
- โ Business users managing complex Excel workbooks
- โ Teams maintaining Power Query/VBA/DAX code in Git
Not suitable for:
- โ Server-side data processing (use libraries like ClosedXML, EPPlus instead)
- โ Linux/macOS users (Windows + Excel installation required)
- โ High-volume batch operations (consider Excel-free alternatives)
For coding agents like GitHub Copilot, Cursor, and Windsurf, use the CLI instead of MCP Server. CLI invocations are more token-efficient: they avoid loading large tool schemas into the model context, allowing agents to act through concise commands.
# Install CLI
dotnet tool install --global Sbroenne.ExcelMcp.CLI
# Agent workflow (use -q for clean JSON output)
excelcli -q session open C:\Data\Report.xlsx # Returns {"sessionId":1,...}
excelcli -q range set-values --session 1 --sheet Sheet1 --range A1 --values '[["Hello"]]'
excelcli -q session save --session 1
excelcli -q session close --session 1Key features:
-q/--quietflag for clean JSON output (no banner)- Auto-suppresses banner when output is piped
- All commands output parseable JSON
- Session pattern for efficient Excel reuse
Run excelcli --help for all commands, or excelcli <command> --help for action-specific options.
๐ CLI Skill for Agents โ | CLI Guide โ
Skills are auto-installed by the VS Code extension. For other platforms:
# CLI skill (for coding agents - Copilot, Cursor, Windsurf, Codex, etc.)
npx skills add sbroenne/mcp-server-excel --skill excel-cli
# MCP skill (for conversational AI - Claude Desktop, VS Code Chat)
npx skills add sbroenne/mcp-server-excel --skill excel-mcpSupports 43+ agents including: claude-code, github-copilot, cursor, windsurf, gemini-cli, codex, goose, and more.
๐ Agent Skills โ
ExcelMcp uses Windows COM automation to control the actual Excel application (not just .xlsx files).
This means you get:
- โ Full Excel Feature Access - Power Query engine, VBA runtime, Data Model, calculation engine, pivot tables
- โ True Compatibility - Works exactly like Excel UI, no feature limitations
- โ Live Data Operations - Refresh Power Query, connections, Data Model in real workbooks
- โ Interactive Development - Immediate Excel feedback as AI makes changes
- โ All File Formats - .xlsx, .xlsm, .xlsb, even legacy formats
๐ก Tip: Watch Excel While AI Works By default, Excel runs hidden for faster automation. To see changes in real-time, just ask:
- "Show me Excel while you work"
- "Let me watch what you're doing"
- "Open Excel so I can see the changes"
The AI will display the Excel window so you can watch every operation happen live - great for learning or verifying changes!
Technical Requirements:
โ ๏ธ Windows Only - COM interop is Windows-specificโ ๏ธ Excel Required - Microsoft Excel 2016 or later must be installedโ ๏ธ Desktop Environment - Controls actual Excel process (not for server-side processing)
๐ Complete MCP Server Guide โ - Detailed tool documentation and examples
License: MIT License - see LICENSE file
Privacy: See PRIVACY.md for our privacy policy
Contributing: See CONTRIBUTING.md for guidelines
Built With: This entire project was developed using GitHub Copilot AI assistance - mainly with Claude but lately with Auto-mode.
Acknowledgments:
- Microsoft Excel Team - For comprehensive COM automation APIs
- Model Context Protocol community - For the AI integration standard
- pytest-aitest - For LLM-powered tool validation testing
- Open Source Community - For inspiration and best practices