Skip to main content
Glama
eschaq

Excel MCP Server

by eschaq

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EXCEL_MCP_LOG_FILENoPath to the audit log of every file operation. Corresponds to the --log-file flag.~/.excel-mcp/excel-mcp.log
EXCEL_MCP_READ_ONLYNoSet to 1 to remove write tools entirely. Default is off. Corresponds to the --read-only flag.
EXCEL_MCP_MAX_FILE_MBNoFiles larger than this size in MB are refused. Corresponds to the --max-file-mb flag.50
EXCEL_MCP_ALLOWED_DIRSNoOnly 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues