Excel

MCP server by Haris Musa

Create, read and edit Excel workbooks, including formulas, tables and charts, without Microsoft Excel installed.

Runs locally (Runs on your machine: its page has the install command)Runs with uvx

Install Excel

Runs on your machine. Your client starts it with this command:

uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Needs uv (Python) on your computer. The setup steps below show where the command goes in each client.

Share this server

Opens this page, with the install command and setup steps.

mcp.tc/i/excel

About

Works with .xlsx, .xlsm, .xltx and .xltm files through openpyxl. You can read and write cells, formulas and dates, format ranges, manage sheets, rows and columns, add tables, charts, conditional formats and data validation, write static summary tables, and read VBA macro code (never run). Formulas are stored, not calculated, and real PivotTables cannot be created.

Runs locally over stdio with uvx: uvx excel-mcp-server stdio --allow-dir /path/to/workbooks. No sign-in or API key is needed. Access is limited to the folder you allow, formulas that reach the network or other programs are rejected, and a read-only mode is available. A Streamable HTTP mode and a Docker image also exist.

What you can do

  • Create workbooks and list or describe sheets
  • Read, write, copy, clear and search cell ranges
  • Format fonts, fills, borders and number formats
  • Add tables, charts and static summary tables
  • Set conditional formatting and dropdown data validation
  • Insert, delete, rename and copy sheets, rows and columns
  • Read VBA macro code in .xlsm files

Tools 26

  • create_workbook

    Create a new, empty Excel workbook.

  • describe_workbook

    List a workbook's sheets with used ranges and defined names.

  • list_workbooks

    List Excel files in a directory.

  • export_workbook

    Return the workbook file as an embedded base64 resource.

  • import_workbook

    Save an uploaded workbook file on the server.

  • describe_sheet

    Describe a sheet's used range, panes, merges, tables, charts, validation and formats.

  • create_sheet

    Add an empty worksheet.

  • rename_sheet

    Rename a worksheet; formulas using the old name are not updated.

  • copy_sheet

    Duplicate a worksheet within the workbook.

  • delete_sheet

    Delete a worksheet and everything on it.

  • insert_rows_or_columns

    Insert empty rows or columns before a position.

  • delete_rows_or_columns

    Delete rows or columns starting at a position.

Show 14 more tools
  • read_range

    Read cell values as rows; dates come back as ISO 8601 strings.

  • write_range

    Write values into cells, overwriting existing content.

  • clear_range

    Clear values and/or formatting of a range without shifting cells.

  • copy_range

    Copy values and formatting to another place.

  • find_cells

    Find cells whose value contains or equals a query.

  • format_range

    Change fonts, fill, borders, alignment or number format of a range.

  • merge_cells

    Merge a range into one cell, or split a merged range.

  • set_sheet_layout

    Set column widths, row heights, frozen panes, auto filter and tab color.

  • add_conditional_format

    Add a conditional format rule to a range.

  • add_data_validation

    Restrict what can be entered in a range, such as a dropdown list.

  • create_table

    Turn a range with a header row into an Excel table.

  • create_chart

    Add a chart that plots a block of data.

  • create_summary_table

    Group rows and aggregate columns, writing a static pivot-style result.

  • read_vba

    Show VBA macro code in an .xlsm or .xltm workbook, module by module.

From the package’s own manifest, not a live connection, on 3 Oct 2026.

Example prompts

  • Create a budget.xlsx workbook with a sheet for each month

  • Read A1:F50 from the Sales sheet in q1.xlsx and summarize it

  • Add a bar chart of revenue by region to the Summary sheet

  • Add a dropdown list for Status in column D of the Tasks sheet

Set up

Every client starts Excel on your machine with the same command. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks
  1. Start Claude Code and type /mcp. excel should show as connected.

Add --scope user to make it available in every project.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server",
        "stdio",
        "--allow-dir",
        "/path/to/workbooks"
      ]
    }
  }
}
  1. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server",
        "stdio",
        "--allow-dir",
        "/path/to/workbooks"
      ]
    }
  }
}

Needs uv (Python) on your computer.

VS Code

Or from a terminal:

code --add-mcp '{"name":"excel","type":"stdio","command":"uvx","args":["excel-mcp-server","stdio","--allow-dir","/path/to/workbooks"]}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "excel": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "excel-mcp-server",
        "stdio",
        "--allow-dir",
        "/path/to/workbooks"
      ]
    }
  }
}

Needs uv (Python) on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server",
        "stdio",
        "--allow-dir",
        "/path/to/workbooks"
      ]
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.excel]
command = "uvx"
args = ["excel-mcp-server", "stdio", "--allow-dir", "/path/to/workbooks"]

Needs uv (Python) on your computer.

Gemini CLI

gemini mcp add excel uvx -- excel-mcp-server stdio --allow-dir /path/to/workbooks

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server",
        "stdio",
        "--allow-dir",
        "/path/to/workbooks"
      ]
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs uv (Python) on your computer.

FAQ

Can I paste mcp.tc/i/excel into my MCP client?

No. Excel runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is uvx excel-mcp-server stdio --allow-dir /path/to/workbooks.

Does Excel need an API key?

No. It doesn’t declare any keys or environment variables. It runs with your user account’s permissions, so check what its tools can reach.

Is Excel a remote or a local server?

Local. Your client starts it as a process on your computer with uvx excel-mcp-server stdio --allow-dir /path/to/workbooks, which needs uv (Python).

What can Excel do?

It has 26 tools, including create_workbook, describe_workbook and list_workbooks. You can create workbooks and list or describe sheets, read, write, copy, clear and search cell ranges and format fonts, fills, borders and number formats.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc’s robot read Excel’s public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

Embed

Show Excel in a README or on your site. Each embed links to this page, uses the server’s own install command, and sets no cookies. How embeds work

README badge

Badge preview, lightBadge preview, dark
Markdown
[![Excel on mcp.tc](https://mcp.tc/i/excel/badge.svg)](https://mcp.tc/i/excel)
HTML
<a href="https://mcp.tc/i/excel"><img src="https://mcp.tc/i/excel/badge.svg" alt="Excel on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/excel.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/excel" title="Excel on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, install command, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/excel.json

What each field means

mcp.tc isn’t affiliated with Haris Musa. This page was built from Excel’s public metadata, last checked on 3 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.