Skip to main content
Glama
wesseltl

io.github.wesseltl/excel-mcp

by wesseltl

excel-mcp

Python MCP License

Let your AI agent read real, messy Excel files. An MCP server that handles the things LLMs choke on: multiple sheets, title rows sitting above the actual table, and merged cells.

If you paste a spreadsheet into a prompt, the model has to guess where the data starts and what the merged cells mean, and it often gets it wrong. This reads the file properly with deterministic code, so the values are exact and the model never invents cell contents.

The problem it solves

A real spreadsheet almost never starts cleanly at cell A1:

A1:  Quarterly Sales Report 2024      <- title, not data
A2:  Generated by finance             <- note, not data
A3:  (blank)
A4:  Region | Product | Units         <- the actual header
A5:  North  | Widget  | 120
...

Ask an LLM to read that and it'll often treat the title as a column. read_table auto-detects that the header is on row 4 and returns clean records. Merged cells (a value spanning several rows) get forward-filled, so rows don't lose their category.

Related MCP server: Excel MCP Server

The tools it gives an agent

Tool

What it does

list_sheets(path)

Every sheet in the workbook, with its size

preview_sheet(path, sheet, rows)

Top rows as a grid, so the agent can see the layout

read_table(path, sheet)

The actual data table as records (auto-detects the header row)

sheet_to_csv(path, sheet)

The table as clean CSV text

Quickstart

pip install "excel-agent-mcp[mcp]"

Add it to your MCP client (e.g. Claude Desktop):

{
  "mcpServers": {
    "excel": { "command": "excel-agent-mcp" }
  }
}

Now your agent can answer "what's in this spreadsheet?" or "pull the sales table out of sheet 2" by reading the file, not guessing.

Also usable from plain Python

from excel_mcp import reader

reader.list_sheets("report.xlsx")
reader.read_table("report.xlsx", "Sales")     # {'columns': [...], 'rows': [...], 'header_row': 3}
reader.sheet_to_csv("report.xlsx", "Sales")

Tests

python -m unittest discover -s tests     # builds its own messy xlsx, runs anywhere

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants to create, read, write, and manipulate Excel files (.xlsx, .xlsm) without requiring Microsoft Excel, including support for charts, pivot tables, data import/export, and professional formatting across Windows, macOS, and Linux.
    169
    33
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that enables AI agents to automate Excel file operations including workbook creation, worksheet management, and data manipulation. It provides a standardized interface for reading, writing, merging, and filtering cell ranges within Excel documents.
    4

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.

  • 100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.

View all MCP Connectors

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/wesseltl/excel-mcp'

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