
Excel MCP Server
Create, read, and modify Excel workbooks with your AI agent — no Microsoft Excel required.
Add to your client
Copy the config for your MCP client and paste it into its config file.
uvx excel-mcp-server stdioPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"excel-mcp-server": {
"command": "uvx",
"args": [
"excel-mcp-server",
"stdio"
]
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- uv / uvx (to run via uvx excel-mcp-server)
- Python environment
- For SSE or Streamable HTTP transports: set EXCEL_FILES_PATH (defaults to ./excel_files); optionally set FASTMCP_PORT (default 8017)
About Excel MCP Server
Excel MCP Server is a Model Context Protocol server for Excel file manipulation that works without Microsoft Excel installed. It enables AI agents to create, read, and modify Excel workbooks — including data writes, formulas, formatting, charts, pivot tables, native Excel tables, data validation, and full worksheet/row/column management. It supports three transports: stdio for local use, SSE (deprecated), and streamable HTTP (recommended for remote connections).
Tools & capabilities (25)
create_workbookCreates a new Excel workbook at the given filepath.
create_worksheetCreates a new worksheet in an existing workbook.
get_workbook_metadataGet metadata about a workbook including sheets and ranges; optionally include range information.
write_data_to_excelWrite data (a list of dictionaries) to an Excel worksheet starting at a given cell.
read_data_from_excelRead data from an Excel worksheet over a cell range, with optional preview-only mode; includes validation metadata for cells when available.
format_rangeApply formatting to a range of cells: bold, italic, underline, font size/color, background color, borders, number format, alignment, wrap text, merge, protection, and conditional formatting.
merge_cellsMerge a range of cells.
unmerge_cellsUnmerge a previously merged range of cells.
get_merged_cellsGet the merged cell ranges in a worksheet.
apply_formulaApply an Excel formula to a target cell.
validate_formula_syntaxValidate Excel formula syntax without applying it.
create_chartCreate a chart in a worksheet (line, bar, pie, scatter, area) from a data range, with optional title and axis labels.
create_pivot_tableCreate a pivot table in a worksheet from a source data range, with row/column/value fields and an aggregation function (sum, count, average, max, min).
create_tableCreate a native Excel table from a specified range of data, with optional table name and visual style.
copy_worksheetCopy a worksheet within a workbook.
delete_worksheetDelete a worksheet from a workbook.
rename_worksheetRename a worksheet in a workbook.
copy_rangeCopy a range of cells to another location, optionally to a different target sheet.
delete_rangeDelete a range of cells and shift remaining cells up or left.
validate_excel_rangeValidate if a range exists and is properly formatted.
get_data_validation_infoGet data validation rules and metadata for a worksheet, including validation type, operator, allowed values, formula constraints, applicable ranges, and prompt/error messages.
insert_rowsInsert one or more rows starting at a specified row (1-based).
insert_columnsInsert one or more columns starting at a specified column (1-based).
delete_sheet_rowsDelete one or more rows starting at a specified row (1-based).
delete_sheet_columnsDelete one or more columns starting at a specified column (1-based).
What this server can do
Excel MCP Server provides tools for these capabilities — tap one to see every MCP server that does the same:
When to use it
- Generate Excel reports and workbooks programmatically from an AI agent without Microsoft Excel installed
- Read and extract data from existing spreadsheets for analysis
- Apply formatting, conditional formatting, and styling to cell ranges
- Build charts, pivot tables, and native Excel tables for data analysis
- Automate worksheet management — create, copy, rename, delete sheets and insert/delete rows and columns
- Run as a remote spreadsheet service over streamable HTTP for shared AI workflows
Security notes
When using SSE or Streamable HTTP transports, you must set the EXCEL_FILES_PATH environment variable on the server side (defaults to ./excel_files). With these transports, tool filepath values must be relative to that directory (e.g. reports/q1.xlsx); absolute paths and directory traversal are rejected. With stdio transport, the file path is provided with each tool call, so EXCEL_FILES_PATH is not needed.
Excel MCP Server FAQ
Do I need Microsoft Excel installed?
No. The server manipulates Excel files directly without requiring Microsoft Excel to be installed.
Which transports are supported?
Three: stdio (for local use), SSE (Server-Sent Events, deprecated), and streamable HTTP (recommended for remote connections).
How are file paths handled?
With stdio, the file path is sent with each tool call, so no server-side configuration is needed. With SSE or streamable HTTP, you must set EXCEL_FILES_PATH on the server (defaults to ./excel_files), and filepath values must be relative to that directory — absolute paths and directory traversal are rejected.
What port does the HTTP server use?
You can set the FASTMCP_PORT environment variable to control the listening port. The README notes the default is 8017.
Alternatives to Excel MCP Server
Compare all alternatives →AI-powered task-management system for AI-driven development that drops into Cursor, Windsurf, Claude Code, and more.
Gives AI assistants deep knowledge of 2,000+ n8n nodes, plus optional workflow management on your own n8n instance.
Background computer-use MCP server that drives native macOS, Windows, and Linux desktop apps without stealing focus.
Compare Excel MCP Server with: