Excel MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EXCEL_MCP_LOG_FILE | No | Path to the audit log of every file operation. Corresponds to the --log-file flag. | ~/.excel-mcp/excel-mcp.log |
| EXCEL_MCP_READ_ONLY | No | Set to 1 to remove write tools entirely. Default is off. Corresponds to the --read-only flag. | |
| EXCEL_MCP_MAX_FILE_MB | No | Files larger than this size in MB are refused. Corresponds to the --max-file-mb flag. | 50 |
| EXCEL_MCP_ALLOWED_DIRS | No | Only files inside these folders can be read or written. Semicolon-separated on Windows, colon-separated elsewhere. Defaults to your home folder. Corresponds to the --allow-dir flag. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_spreadsheetA | Open a spreadsheet and list its sheets with dimensions and a preview of the first rows. |
| get_sheet_dataB | Return a sheet's rows as JSON records, optionally limited to some columns and paged. |
| get_formulasA | List the formulas (not values) in a range, with each cell's last cached result. .xlsx/.xlsm only. |
| searchA | Find cells whose value matches a text, numeric or regex pattern. Returns cell addresses. |
| get_summary_statsB | Summary statistics per column: count, missing, min, max, mean, median, stdev and sum for numeric columns; count, unique and most common value for text columns. |
| apply_filterB | Filter rows by column conditions (eq, ne, gt, gte, lt, lte, between, contains, not_contains, startswith, endswith, regex, in, not_in, is_null, not_null) and return the matching rows. |
| write_cellA | Write one value or formula to a cell in an .xlsx/.xlsm file. Returns the previous value. |
| write_rangeB | Write a 2D block of values (rows of cells) starting at a cell in an .xlsx/.xlsm file. |
| create_sheetA | Add a new sheet to an existing .xlsx/.xlsm workbook. |
| create_workbookC | Create a new .xlsx workbook, optionally with a header row. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: opening/previewing workbooks, retrieving sheet data, extracting formulas, searching cells, computing summary statistics, filtering rows, writing cells/ranges, and creating sheets/workbooks. The boundaries between read, write, search, filter, and stats operations are unambiguous.
Almost all tools follow a consistent snake_case verb_noun pattern (read_spreadsheet, get_sheet_data, write_cell, create_workbook). The lone exception is 'search', which lacks an explicit object noun, but the overall convention remains predictable.
Ten tools is well-scoped for an Excel server, covering the main read, write, create, search, filter, and analysis operations without excessive redundancy or thin coverage.
Core lifecycle operations are present: create workbook/sheet, read data/formulas, write cells/ranges, search, filter, and summarize. Minor gaps exist for sheet/row deletion, renaming, or formatting operations, but the main data workflows are covered.