apply_formula
Apply Excel formula to cell. Excel formula will write to cell with verification.
Build and edit .xlsx workbooks by path — sheets, formulas, formatting, charts and pivot tables — and leave a file someone can open.
LABSCO SUMMARY
validate_formula_syntax before apply_formula means a formula is checked before it lands in a cell, and read_data_from_excel returns validation rules alongside the values, so an agent editing somebody else's model can see what that model expects. The file on disk is the artifact — there is no import or export step around it.
Workbook editing over a file path: worksheets created, copied, renamed and deleted; ranges read, written, merged, copied and deleted; formulas validated and then applied; and charts, native tables and pivot tables created in place.
uvx on your PATH and the path to the workbook — every call takes the file path, and the sheet name wherever the sheet matters.
One command — uvx excel-mcp-server stdio
USE CASES
Create the workbook, write the data in, format the range so it reads, and add the chart. What you hand over is the file, not a description of it.
Read the sheet list and the ranges first, then read the data with its validation rules so the edit respects the constraints already in the file.
Make the range a native table, then build a pivot on it with the rows, values and aggregation you want — in the file rather than in a chat message.
Validate the syntax, then apply it and let the write verify itself — the order that keeps a broken formula out of a model people rely on.
Insert or delete rows and columns, copy ranges between sheets, and merge the cells that need to span — structural work that would otherwise be manual.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
apply_formulaApply Excel formula to cell. Excel formula will write to cell with verification.
copy_rangeCopy a range of cells to another location.
copy_worksheetCopy worksheet within workbook.
create_chartCreate chart in worksheet.
create_pivot_tableCreate pivot table in worksheet.
create_tableCreates a native Excel table from a specified range of data.
create_workbookCreate new Excel workbook.
create_worksheetCreate new worksheet in workbook.
delete_rangeDelete a range of cells and shift remaining cells.
delete_sheet_columnsDelete one or more columns starting at the specified column.
delete_sheet_rowsDelete one or more rows starting at the specified row.
delete_worksheetDelete worksheet from workbook.
format_rangeApply formatting to a range of cells.
get_data_validation_infoGet all data validation rules in a worksheet.
This tool helps identify which cell ranges have validation rules and what types of validation are applied.
Args: filepath: Path to Excel file sheet_name: Name of worksheet
Returns: JSON string containing all validation rules in the worksheet
get_merged_cellsGet merged cells in a worksheet.
get_workbook_metadataGet metadata about workbook including sheets, ranges, etc.
insert_columnsInsert one or more columns starting at the specified column.
insert_rowsInsert one or more rows starting at the specified row.
merge_cellsMerge a range of cells.
read_data_from_excelRead data from Excel worksheet with cell metadata including validation rules.
Args: filepath: Path to Excel file sheet_name: Name of worksheet start_cell: Starting cell (default A1) end_cell: Ending cell (optional, auto-expands if not provided) preview_only: Whether to return preview only
Returns: JSON string containing structured cell data with validation metadata. Each cell includes: address, value, row, column, and validation info (if any).
rename_worksheetRename worksheet in workbook.
unmerge_cellsUnmerge a range of cells.
validate_excel_rangeValidate if a range exists and is properly formatted.
validate_formula_syntaxValidate Excel formula syntax without applying it.
write_data_to_excelWrite data to Excel worksheet. Excel formula will write to cell without any verification.
PARAMETERS: filepath: Path to Excel file sheet_name: Name of worksheet to write to data: List of lists containing data to write to the worksheet, sublists are assumed to be rows start_cell: Cell to start writing to, default is "A1"
BEFORE YOU INSTALL
25 tools when we connected.
uvx on PATH
CONTEXT COST
Rated by the size of the 25 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"excel-mcp-server": {
"command": "uvx",
"args": [
"excel-mcp-server",
"stdio"
]
}
}
}uvx excel-mcp-server stdio