Skip to main content
Glama

日本語 README

Excel MCP Server

A cross-platform MCP server for reading, writing, and formatting Excel files. Works with both open Excel workbooks (live) and closed .xlsx files (no Excel needed).

Two Modes

  • workbook — Operate on an open Excel workbook in real-time via xlwings

  • path — Edit closed .xlsx files directly using pure Python (preserves images, charts, and all embedded content)

Tools

Tool

workbook

path

Required

get_excel_info

-

-

(none)

read_cells

OK

OK

range

write_cells

OK

OK

range, value

format_cells

OK

OK

range, format

execute_vba

OK

-

workbook, code

Requirements

  • Node.js 18+

  • Python 3.8+

  • xlwings (for live Excel mode — pip install xlwings)

  • Microsoft Excel (only needed for workbook mode and execute_vba)

Works on Windows and macOS. The path mode also works on Linux.

Installation

git clone https://github.com/kousunh/excel-mcp-server.git
cd excel-mcp-server
npm install
pip install -r scripts/requirements.txt

Configure MCP Client

Add to your MCP client config (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "excel-mcp": {
      "command": "node",
      "args": ["/path/to/excel-mcp-server/src/index.js"]
    }
  }
}

To use a specific Python executable, set the EXCEL_MCP_PYTHON environment variable:

{
  "mcpServers": {
    "excel-mcp": {
      "command": "node",
      "args": ["/path/to/excel-mcp-server/src/index.js"],
      "env": {
        "EXCEL_MCP_PYTHON": "/path/to/python"
      }
    }
  }
}

Usage

Closed files (path mode)

read_cells   path="/data/report.xlsx" range="A1:D20" formats=true
write_cells  path="/data/report.xlsx" range="A1:C3" value=[["Name","Age","City"],["Alice",30,"NYC"],["Bob",25,"LA"]]
format_cells path="/data/report.xlsx" range="A1:C1" format={"bold":true,"backgroundColor":"#4472C4","fontColor":"#FFFFFF"}

No Excel installation required. Images, charts, and shapes are preserved.

Open workbooks (workbook mode)

get_excel_info
read_cells   workbook="Sales.xlsx" range="B2:F10"
write_cells  workbook="Sales.xlsx" range="G2" value="=SUM(B2:F2)"
execute_vba  workbook="Sales.xlsx" code="Range(\"A1:G10\").AutoFilter"

Requires Excel to be running with the workbook open.

License

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kousunh/Excel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server