excel-mcp-server
by: negokaz
An MCP server that reads and writes spreadsheet data to MS Excel file
📌Overview
Purpose: To provide a Model Context Protocol (MCP) server for reading and writing data to Microsoft Excel files.
Overview: The Excel MCP Server allows users to interact with Excel spreadsheets by reading text and formulas, as well as writing new data and formulas directly into Excel files. It supports various Excel file formats, offering a versatile tool for data manipulation.
Key Features:
-
Read and Write Text Values: Enables reading and updating text values in Excel files, streamlining data entry and retrieval.
-
Read and Write Formulas: Facilitates interaction with formulas in Excel, supporting the creation of dynamic spreadsheets through data manipulation.
-
Screen Image Capture: (Windows only) Allows for capturing screen images from Excel files, providing visual data representation.
Excel MCP Server
A Model Context Protocol (MCP) server that reads and writes MS Excel data.
Features
- Read and write text values from/to MS Excel files
- Read and write formulas in MS Excel files
- Capture screen image from MS Excel files (Windows only)
For more details, see the tools section.
Requirements
- Node.js 20.x or later
Supported file formats
- xlsx (Excel workbook)
- xlsm (Excel macro-enabled workbook)
- xltx (Excel template)
- xltm (Excel macro-enabled template)
Installation
Installing via NPM
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", "@negokaz/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
For other platforms:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@negokaz/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
Installing via Smithery
To install Excel MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @negokaz/excel-mcp-server --client claude
Tools
read_sheet_names
List all sheet names in an Excel file.
Arguments:
fileAbsolutePath
: Absolute path to the Excel file
read_sheet_data
Read data from Excel sheet with pagination.
Arguments:
fileAbsolutePath
: Absolute path to the Excel filesheetName
: Sheet name in the Excel filerange
: Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]knownPagingRanges
: List of already read paging ranges
read_sheet_formula
Read formulas from Excel sheet with pagination.
Arguments:
fileAbsolutePath
: Absolute path to the Excel filesheetName
: Sheet name in the Excel filerange
: Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]knownPagingRanges
: List of already read paging ranges
read_sheet_image
Windows only
Read data as an image from the Excel sheet with pagination.
Arguments:
fileAbsolutePath
: Absolute path to the Excel filesheetName
: Sheet name in the Excel filerange
: Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]knownPagingRanges
: List of already read paging ranges
write_sheet_data
Write data to the Excel sheet.
Arguments:
fileAbsolutePath
: Absolute path to the Excel filesheetName
: Sheet name in the Excel filerange
: Range of cells to read in the Excel sheet (e.g., "A1:C10")data
: Data to write to the Excel sheet
write_sheet_formula
Write formulas to the Excel sheet.
Arguments:
fileAbsolutePath
: Absolute path to the Excel filesheetName
: Sheet name in the Excel filerange
: Range of cells to read in the Excel sheet (e.g., "A1:C10")formulas
: Formulas to write to the Excel sheet (e.g., "=A1+B1")
Configuration
You can change MCP Server behaviors by the following environment variables:
EXCEL_MCP_PAGING_CELLS_LIMIT
The maximum number of cells to read in a single paging operation.
Default: 4000
License
Copyright (c) 2025 Kazuki Negoro
excel-mcp-server is released under the MIT License