Excel MCP Server
Interact with Microsoft Excel to read data, edit cells, execute VBA code, and manage worksheets.
Excel MCP Server
A cross-platform MCP server for reading, writing, and formatting Excel files. Works with both open Excel workbooks (live) and closed .xlsx files (no Excel needed).
Two Modes
workbook— Operate on an open Excel workbook in real-time via xlwingspath— Edit closed .xlsx files directly using pure Python (preserves images, charts, and all embedded content)
Tools
| Tool | workbook | path | Required |
|---|---|---|---|
get_excel_info | - | - | (none) |
read_cells | OK | OK | range |
write_cells | OK | OK | range, value |
format_cells | OK | OK | range, format |
execute_vba | OK | - | workbook, code |
Requirements
- Node.js 18+
- Python 3.8+
- xlwings (for live Excel mode —
pip install xlwings) - Microsoft Excel (only needed for
workbookmode andexecute_vba)
Works on Windows and macOS. The path mode also works on Linux.
Installation
git clone https://github.com/kousunh/excel-mcp-server.git
cd excel-mcp-server
npm install
pip install -r scripts/requirements.txt
Configure MCP Client
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"excel-mcp": {
"command": "node",
"args": ["/path/to/excel-mcp-server/src/index.js"]
}
}
}
To use a specific Python executable, set the EXCEL_MCP_PYTHON environment variable:
{
"mcpServers": {
"excel-mcp": {
"command": "node",
"args": ["/path/to/excel-mcp-server/src/index.js"],
"env": {
"EXCEL_MCP_PYTHON": "/path/to/python"
}
}
}
}
Usage
Closed files (path mode)
read_cells path="/data/report.xlsx" range="A1:D20" formats=true
write_cells path="/data/report.xlsx" range="A1:C3" value=[["Name","Age","City"],["Alice",30,"NYC"],["Bob",25,"LA"]]
format_cells path="/data/report.xlsx" range="A1:C1" format={"bold":true,"backgroundColor":"#4472C4","fontColor":"#FFFFFF"}
No Excel installation required. Images, charts, and shapes are preserved.
Open workbooks (workbook mode)
get_excel_info
read_cells workbook="Sales.xlsx" range="B2:F10"
write_cells workbook="Sales.xlsx" range="G2" value="=SUM(B2:F2)"
execute_vba workbook="Sales.xlsx" code="Range(\"A1:G10\").AutoFilter"
Requires Excel to be running with the workbook open.
License
MIT
Related Servers
Freshdesk
Integrates with Freshdesk to manage support tickets, contacts, and other customer service operations.
Home Assistant MCP Server
An MCP server for interacting with Home Assistant. Requires HA_URL and HA_TOKEN environment variables.
Claudesidian MCP
Integrates Model Context Protocol (MCP) with Obsidian, allowing AI assistants to interact with your notes and vault.
TikTok Ads MCP Server
A Model Context Protocol (MCP) server for TikTok Ads API integration. This server enables AI assistants like Claude to interact with TikTok advertising campaigns, providing comprehensive campaign management, analytics, and optimization capabilities. Part of the AdsMCP project - MCP servers for advertising platforms.
MCP Mistral OCR
Perform OCR on local files and URLs (images, PDFs) using the Mistral AI API.
Asana
Interact with Asana tasks, projects, workspaces, and comments using the Asana API.
Hilanet MCP
Provides HR-related tools for a corporate dystopia.
MCP Redmine
A server integration for the Redmine project management tool.
Kiwi Travel MCP
Search Flights Without Leaving Your AI Chat
LinkedIn Ads MCP
Analyze your LinkedIn Ads data