nuget Sbroenne.ExcelMcp.McpServerstdioMITupdated 8d ago
Automate real Microsoft Excel with AI. Excel MCP Server lets GitHub Copilot, Claude, ChatGPT, and other agents control Excel through natural-language requests—using either MCP or a token-efficient CLI.
What can you do with MCP Server for Excel?
ExcelMcp - MCP Server for Microsoft Excel
Website · Installation · Features · Troubleshooting · 1-minute demo
Automate real Microsoft Excel with AI. Excel MCP Server lets GitHub Copilot, Claude, ChatGPT, and other agents control Excel through natural-language requests—using either MCP or a token-efficient CLI.
Unlike file-parser tools, ExcelMcp drives the actual Excel application through
its official COM API. It can refresh Power Query, recalculate formulas, evaluate
DAX, run VBA and Python =PY(), and preserve PivotTables, charts, macros, the
Data Model, and workbook formatting.
31 tools with 326 operations cover end-to-end Excel automation.
[!IMPORTANT] Requires Windows, Microsoft Excel 2016 or later, and an interactive desktop. It is not intended for Linux, macOS, or server-side batch processing.
🚀 Get Started
| Use case | Recommended path |
|---|---|
| VS Code | Install the extension |
| Claude Desktop or another MCP client | Install the MCP Server |
| Coding agents and scripts | Install the CLI |
| Not sure which to choose? | Read the installation overview |
Close open Excel workbooks before starting; ExcelMcp requires exclusive access while automating them.
What You Can Automate
- Data & analytics: Power Query, DAX, Power Pivot, Excel Tables, PivotTables, and data connections.
- Cells & workbooks: ranges, formulas, formatting, worksheets, files, calculation, and named ranges.
- Charts & visuals: charts, slicers, conditional formatting, screenshots, drawings, and sparklines.
- Automation & advanced: VBA, Python in Excel, Goal Seek, scenarios, data tables, windows, and XML Maps.
Explore the complete reference for all 326 operations.
See It in Action
Ask in plain language:
- "Import products.csv with Power Query and load it to the Data Model."
- "Create a PivotTable showing revenue by region, then add a column chart."
- "Use Goal Seek to find the price that produces $100,000 profit."
- "Show me Excel while you work."
Because Excel performs the work, you can inspect results live and continue editing the workbook normally.
See more examples and use cases.
MCP Server or CLI?
Both entry points expose the same Core commands and behavior.
| Interface | Best for | Why |
|---|---|---|
| MCP Server | Conversational assistants and exploratory work | Rich schemas, tool discovery, and persistent sessions |
CLI (excelcli) |
Coding agents, automation, and scripts | One compact tool surface and substantially lower token usage |
The MCP Server calls the ExcelMcp service in-process. The CLI uses a background daemon so workbook sessions persist across commands.
AI assistant or script
│
MCP Server / CLI
│
ExcelMcp Core commands
│
Real Excel COM API
Read the architecture or browse the MCP Server and CLI guides.
⭐ GitHub Star History
📋 Additional Information
Documentation · Changelog · Contributing · Security · Privacy
License: MIT License - see LICENSE file
Related Projects
Other projects by the author:
- PowerPoint MCP Server — AI-powered PowerPoint automation via MCP, the sister project to this one
- pytest-skill-engineering — LLM-powered testing framework for AI agents
- Windows MCP Server — AI-powered Windows automation via MCP
- OBS Studio MCP Server — AI-powered OBS Studio automation
Install
Add MCP Server for Excel to your client. Pick the one you use.
claude mcp add sbroenne-excelmcp-mcpserver -- dnx Sbroenne.ExcelMcp.McpServer --yescodex mcp add sbroenne-excelmcp-mcpserver -- dnx Sbroenne.ExcelMcp.McpServer --yesamp mcp add sbroenne-excelmcp-mcpserver -- dnx Sbroenne.ExcelMcp.McpServer --yes{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"sbroenne-excelmcp-mcpserver","command":"dnx","args":["Sbroenne.ExcelMcp.McpServer","--yes"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sbroenne-excelmcp-mcpserver": {
"type": "local",
"command": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sbroenne-excelmcp-mcpserver": {
"command": {
"path": "dnx",
"args": [
"Sbroenne.ExcelMcp.McpServer",
"--yes"
]
}
}
}
}Add to your Zed `settings.json`.
dnx Sbroenne.ExcelMcp.McpServer --yesRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation20/25
- Maintenance25/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 0 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.10.6 | Aug 15, 2026 |
| 1.10.5 | Aug 7, 2026 |
| 1.10.4 | Aug 7, 2026 |
| 1.10.3 | Jul 27, 2026 |
| 1.10.2 | Jul 26, 2026 |
| 1.10.1 | Jul 23, 2026 |
| 1.10.0 | Jul 23, 2026 |
| 1.7.7 | Feb 17, 2026 |
| 1.7.6 | Feb 16, 2026 |
| 1.7.5 | Feb 16, 2026 |
| 1.7.4 | Feb 16, 2026 |
| 1.7.3 | Feb 16, 2026 |
| 1.7.2 | Feb 15, 2026 |
| 1.7.1 | Feb 15, 2026 |
| 1.6.10 | Feb 15, 2026 |
| 1.6.9 | Feb 4, 2026 |
| 1.6.8 | Feb 3, 2026 |
| 1.6.7 | Feb 3, 2026 |
| 1.6.6 | Feb 3, 2026 |
| 1.6.5 | Feb 3, 2026 |
| 1.6.4 | Feb 3, 2026 |
| 1.6.3 | Feb 3, 2026 |
| 1.6.2 | Feb 2, 2026 |
| 1.6.1 | Feb 2, 2026 |
| 1.6.0 | Feb 2, 2026 |
| 1.5.14 | Feb 1, 2026 |
| 1.5.13 | Jan 26, 2026 |
| 1.5.12 | Jan 23, 2026 |
| 1.5.11 | Jan 22, 2026 |
| 1.5.10 | Jan 22, 2026 |
| 1.5.9 | Jan 20, 2026 |
| 1.5.8 | Jan 20, 2026 |
| 1.5.7 | Jan 20, 2026 |
| 1.5.6 | Jan 20, 2026 |
| 1.5.5 | Jan 19, 2026 |
| 1.5.4 | Jan 19, 2026 |
| 1.5.3 | Jan 18, 2026 |
| 1.5.2 | Jan 12, 2026 |
| 1.5.1 | Jan 10, 2026 |
| 1.5.0 | Jan 9, 2026 |
| 1.4.49 | Dec 25, 2025 |
| 1.4.48 | Dec 22, 2025 |
| 1.4.47 | Dec 22, 2025 |
| 1.4.42 | Dec 15, 2025 |
| 1.4.41 | Dec 14, 2025 |
| 1.4.40 | Dec 14, 2025 |
| 1.4.39 | Dec 13, 2025 |
| 1.4.38 | Dec 8, 2025 |
| 1.4.37 | Dec 6, 2025 |
| 1.4.36 | Dec 6, 2025 |
| 1.4.35 | Dec 5, 2025 |
| 1.4.34 | Dec 5, 2025 |
| 1.4.33 | Dec 4, 2025 |
| 1.4.32 | Dec 4, 2025 |
| 1.4.31 | Dec 4, 2025 |
| 1.4.30 | Dec 3, 2025 |
| 1.4.29 | Dec 3, 2025 |
| 1.4.28 | Dec 1, 2025 |
| 1.4.27 | Dec 1, 2025 |
| 1.0.0 | Oct 30, 2025 |
