ExcelMCPAdvanced
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ExcelMCPAdvancedShow me the patches in the 'Sales' sheet of report.xlsx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Excel MCP Server — Advanced
Fast, multi-sheet Excel retrieval and writing via the Model Context Protocol. Built on python-calamine for speed; openpyxl only where calamine cannot reach (formula extraction, writing).
Tools
Tool | Purpose |
| List all sheet names in a workbook |
| Get rows × cols — O(1) for .xlsx, O(n) otherwise |
| Read an entire sheet as a markdown table |
| Auto-detect data regions (patches), return them truncated with IDs |
| Return full data for specific patch IDs |
| Return data for explicit A1-notation ranges |
| Write |
Related MCP server: Excel MCP Server
Typical Workflows
Deep analysis (recommended for large files)
excel_list_sheets(file)
→ excel_get_sheet_size(file, sheet) # check dimensions first (O(1))
→ excel_get_sheet_patches_truncated(file, sheet) # get patch IDs + shape
→ excel_get_sheet_patches_by_id(file, sheet, [ids…]) # pull full data for relevant patchesQuick overview
excel_get_sheet_patches_truncated(file, sheet, top_n_patches=5)Small sheet
excel_get_sheet_full(file, sheet)Targeted extraction
excel_get_sheet_cell_ranges(file, sheet, ["A1:D20", "G5:J15"])Sheet Size
excel_get_sheet_size returns {rows, cols, cells, method}:
{"sheet_name": "Sales", "rows": 150001, "cols": 12, "cells": 1800012, "method": "xml_dimension_tag"}Speed:
.xlsx/.xlsm: readsworkbook.xml(~2 KB) + the first 8 KB of the sheet XML to extract the<dimension ref="A1:E150001"/>element. A 200 MB file with 2 million rows takes the same time as a 10-row file..xls/.xlsb/.ods: calamine row iteration — O(n rows) but never loads the full sheet into memory.
Patch IDs
A patch is a contiguous rectangular block of non-empty cells, separated from other patches by completely empty rows or columns.
Patch IDs encode their location: {Sheet}_P{n}_{TopLeft}_{BottomRight}
Example:
Sales_P01_A1_E15000,Forecast_P03_B5_BD10The bounding box is embedded in the ID, so
excel_get_sheet_patches_by_idrequires no shared state between calls.
Content Modes
Both values and hybrid are supported on all read tools via the content parameter.
Mode | Behaviour |
| Computed cell values. Fast — calamine only. |
| Formula cells show the raw formula ( |
Truncation
excel_get_sheet_patches_truncated truncates large patches to keep context manageable:
| Order ID | Date | Customer | ... (truncated 50 cols) | Amount |
|----------|------------|------------|-------------------------|---------|
| 10001 | 2024-01-01 | Apex Corp | ... | $150.00 |
| 10002 | 2024-01-02 | Beta LLC | ... | $200.00 |
| ... | ... | ... | ... (truncated 14,995) | ... |
| 24995 | 2024-12-30 | Charlie Inc| ... | $150.00 |
| 24996 | 2024-12-31 | Delta Co | ... | $350.00 |Control via:
truncate_top_n— rows/cols shown at head and tail (default 3)truncate_threshold— dimension must exceed this to trigger truncation (default 10)
Writing
excel_write_workbook accepts a dict of {sheet_name: markdown_table} and coerces cell values:
Input string | Excel type |
| Formula |
| Numeric |
| Boolean |
| 0.15 (numeric) |
`` (empty) | Blank cell |
anything else | String |
Installation
git clone <repo>
cd Excel-MCP-Server-Advanced
python -m venv .venv && source .venv/bin/activate
pip install -e .Supported formats: .xlsx, .xls, .xlsb, .ods (read); .xlsx (write).
MCP Client Configuration
Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"excel": {
"command": "/path/to/.venv/bin/excel-mcp-server"
}
}
}Development
# Generate test workbook
python tests/create_test_excel.py
# Run tests
python tests/test_tools.pyThis server cannot be deployed
Maintenance
Related MCP Connectors
Excel analytics: inspect, query (JSON rows), charts, and JSON-to-xlsx workbook writing.
Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.
GrapeCity Software MCP for GcExcel docs, examples, and product assistance.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Related MCP Servers
- AlicenseBqualityFmaintenanceProvides efficient handling of large Excel files through automatic chunking and pagination, using MCP to enable seamless file reading and management features such as sheet selection and error handling.129MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and writing Excel files (text, formulas, and images on Windows) via MCP tools with pagination support.3MIT
- AlicenseAqualityDmaintenanceEnables reading and writing Excel workbooks (.xlsx) through MCP. Supports listing sheets, tables, pivot tables, reading cell data, exporting to CSV/text/Markdown, and creating/modifying Excel files.14GPL 3.0
- AlicenseNot gradedqualityBmaintenanceProvides full read and write access to Excel workbooks (sheets, cell ranges, tables, formulas, formatting, and cross-workbook references) via MCP, running locally or as an HTTP/SSE service.20 npmMIT