A Model Context Protocol (MCP) server that reads and writes MS Excel data.
- Read/Write text values
- Read/Write formulas
- Create new sheets
- ✨ NEW: Data validation with dropdown lists
- ✨ NEW: Conditional formatting (highlighting, color scales, data bars)
- ✨ NEW: VBA code execution and module creation
🪟Windows only:
- Live editing
- Capture screen image from a sheet
- ✨ VBA functionality (OLE backend)
For more details, see the tools section.
- Node.js 20.x or later
- xlsx (Excel book)
- xlsm (Excel macro-enabled book)
- xltx (Excel template)
- xltm (Excel macro-enabled template)
excel-mcp-server is automatically installed by adding the following configuration to the MCP servers configuration.
For Windows:
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "ms-excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}For other platforms:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "ms-excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}To install Excel MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install ms-excel-mcp-server --client claudeList all sheet information of specified Excel file.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
Read values from Excel sheet with pagination.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
range- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
showFormula- Show formula instead of value [default: false]
showStyle- Show style information for cells [default: false]
[Windows only] Take a screenshot of the Excel sheet with pagination.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
range- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
Write values to the Excel sheet.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
newSheet- Create a new sheet if true, otherwise write to the existing sheet
range- Range of cells to read in the Excel sheet (e.g., "A1:C10").
values- Values to write to the Excel sheet. If the value is a formula, it should start with "="
Create a table in the Excel sheet
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name where the table is created
range- Range to be a table (e.g., "A1:C10")
tableName- Table name to be created
Copy existing sheet to a new sheet
Arguments:
fileAbsolutePath- Absolute path to the Excel file
srcSheetName- Source sheet name in the Excel file
dstSheetName- Sheet name to be copied
Add data validation to Excel cells including dropdown lists and input validation.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
cellRange- Range of cells to apply data validation (e.g., "A1:A10")
validationType- Type of validation: list, whole, decimal, date, time, textLength, custom
options- Data validation options (dropdownList, formulas, error messages, etc.)
Add conditional formatting to Excel cells with highlighting, color scales, and data bars.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
cellRange- Range of cells to apply conditional formatting (e.g., "A1:A10")
conditions- Conditional formatting conditions (type, criteria, values, formatting)
Execute VBA code on an Excel worksheet.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
sheetName- Sheet name in the Excel file
vbaCode- VBA code to execute
Add a VBA module to an Excel workbook.
Arguments:
fileAbsolutePath- Absolute path to the Excel file
moduleName- Name for the VBA module
vbaCode- VBA code to add to the module
Note: For detailed examples and usage instructions, see docs/NEW_FEATURES.md
You can change the MCP Server behaviors by the following environment variables:
The maximum number of cells to read in a single paging operation.
[default: 4000]
Copyright (c) 2025 Kazuki Negoro
excel-mcp-server is released under the MIT License