excel-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sheetsA | Return the names of all sheets in the workbook. |
| list_tablesA | Return every named table in the workbook. Each entry contains:
|
| list_pivot_tablesA | Return every pivot table in the workbook. Each entry contains:
|
| get_sheet_dataB | Return cell data from a sheet.
Returns a dict with:
|
| get_table_dataB | Return data from a named Excel table.
Returns a dict with:
|
| export_sheet_to_csvA | Export a single Excel sheet to a CSV file.
Returns a dict with:
|
| export_sheet_to_textA | Export a single Excel sheet to a plain-text delimited file. Values are joined with the chosen delimiter with no CSV quoting applied, making output easy to read as a flat text file.
Returns a dict with:
|
| export_sheet_to_markdownA | Export a single Excel sheet to a Markdown table. The first row is treated as the header row and a separator line is inserted beneath it. All column widths are padded to align the table.
Returns a dict with:
|
| create_blank_fileC | Create a new blank Excel file at the given path. |
| add_sheetB | Add a new sheet to the Excel file. |
| add_data_to_sheetC | Add data to a sheet starting at the given cell. |
| add_table_to_sheetC | Add a table to a sheet over the given cell range (ref). |
| set_cell_valueC | Set the value of a single cell in a sheet. |
| set_cell_formulaC | Set a formula in a single cell in a sheet (formula should start with '='). |
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 14 tools
Each tool targets a distinct resource or action: listing vs reading vs exporting vs writing are clearly separated, and the three export tools differ by output format. Even the similar get_sheet_data and get_table_data are unambiguous because one returns raw sheet cells and the other returns a named table with headers.
Tool names follow a consistent verb_noun pattern: list_*, get_*, export_sheet_to_*, add_*, and set_cell_*. The naming style is uniform and predictable across the entire set.
14 tools is well within the ideal range for an Excel-focused MCP server. Each tool covers a distinct operation and the set feels appropriately scoped without unnecessary duplication.
The server covers the core Excel lifecycle: discovering structure, reading data, exporting, creating files, adding sheets/data/tables, and setting cell values or formulas. Minor gaps exist—such as no delete/rename/clear operations or updating existing tables—but agents can accomplish most common workflows.