MCP Directory

Excel MCP Server

Create, read, and modify Excel workbooks with your AI agent — no Microsoft Excel required.

Unverified
stdio (local)
No auth
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uvx excel-mcp-server stdio

Paste 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_workbook

Creates a new Excel workbook at the given filepath.

create_worksheet

Creates a new worksheet in an existing workbook.

get_workbook_metadata

Get metadata about a workbook including sheets and ranges; optionally include range information.

write_data_to_excel

Write data (a list of dictionaries) to an Excel worksheet starting at a given cell.

read_data_from_excel

Read data from an Excel worksheet over a cell range, with optional preview-only mode; includes validation metadata for cells when available.

format_range

Apply 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_cells

Merge a range of cells.

unmerge_cells

Unmerge a previously merged range of cells.

get_merged_cells

Get the merged cell ranges in a worksheet.

apply_formula

Apply an Excel formula to a target cell.

validate_formula_syntax

Validate Excel formula syntax without applying it.

create_chart

Create a chart in a worksheet (line, bar, pie, scatter, area) from a data range, with optional title and axis labels.

create_pivot_table

Create 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_table

Create a native Excel table from a specified range of data, with optional table name and visual style.

copy_worksheet

Copy a worksheet within a workbook.

delete_worksheet

Delete a worksheet from a workbook.

rename_worksheet

Rename a worksheet in a workbook.

copy_range

Copy a range of cells to another location, optionally to a different target sheet.

delete_range

Delete a range of cells and shift remaining cells up or left.

validate_excel_range

Validate if a range exists and is properly formatted.

get_data_validation_info

Get data validation rules and metadata for a worksheet, including validation type, operator, allowed values, formula constraints, applicable ranges, and prompt/error messages.

insert_rows

Insert one or more rows starting at a specified row (1-based).

insert_columns

Insert one or more columns starting at a specified column (1-based).

delete_sheet_rows

Delete one or more rows starting at a specified row (1-based).

delete_sheet_columns

Delete 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 →

Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.

Verified
stdio (local)
API key
Python
11 tools
Updated 2 months agoRepo

Official Notion server to read, search, create, and update pages and databases in your workspace.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 4 months agoRepo

Read, search, and edit your Obsidian vault through the Local REST API community plugin.

Verified
stdio (local)
API key
Python
7 tools
Updated 4 months agoRepo