MCP Directory

How to add Excel MCP Server to Claude Desktop

Create, read, and modify Excel workbooks with your AI agent — no Microsoft Excel required. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 · 3.9k · stdio · no auth

Claude Desktop config for Excel MCP Server

uvx excel-mcp-server stdio
{
  "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.

Setup steps

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Excel MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Excel MCP Server's tools appear under the 🔌 tools menu.

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)

What Excel MCP Server can do in Claude Desktop

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.

Security

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 + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Excel MCP Server config there under the "mcpServers" key and restart the client.

Is Excel MCP Server safe to use with Claude Desktop?

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.

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.

View repo Full Excel MCP Server page