Everything plus the kitchen sink for Microsoft Excel: the .xlsx MCP server that never hands your AI a number it cannot back up.
The short version of the release, no changelog reading required.
Here is the dirty secret of every tool that reads Excel files: a spreadsheet remembers its answers, not its thinking. When something changes upstream, the old answers just sit there, looking exactly like real numbers. Most AI tools will read one anyway and confidently report it, and you will make a decision based on it. This server refuses to bluff. Every number it hands your AI comes with the truth attached: freshly calculated, remembered from the last save, or missing, with the affected cells named. And when it really matters, it asks Excel itself to recalculate and prove it.
Three numbers and no way to tell them apart. The first cell says 20, so the second one should say 80. It says 48, which is what it said before anybody changed anything. Nothing here warns you.
change the first cell and watch what the labels do.
Change the first cell and the two after it do not move, because nothing has worked them out again yet. What changes is the label. Press recalculate and they catch up. Keyboard works too: tab to a button and press it.
The bench above runs in your browser so the point takes ten seconds instead of a paragraph. On a real workbook the labels come out of the file itself, so being honest costs you nothing, and the recalculation is a real copy of Excel doing real arithmetic.
Insert one column in a real workbook and you find out how much of a spreadsheet lives to the right of where you clicked. Formulas, totals, charts, that table on sheet three that quietly feeds the summary: all of them have opinions about where their cells just went.
Most tools do the cheap version: move the cells, save the file, hope. The damage never shows up when the edit runs. It shows up three days later, in a meeting, in the one total that quietly stopped including its last row.
This server moves everything that should move, and checks the result against what Excel itself would have done. When an edit cannot be done safely, it says no out loud instead of guessing quietly. A refusal costs you a minute. A quiet guess costs you the deal.
The stock is arranged in capability packs, the way a good shop groups what belongs together. A session opens on the lite core, 40 tools at about 11.4k tokens, and switches on the pack a job needs with one call. All 69 tools are on the floor today: 40 in the core, 29 across the three packs.
The everyday bench: an anchored grid view of the workbook, labeled reads of cells and ranges, server-side query and aggregation, formula write and audit, structural row and column edits that carry their references, sort and filter with Excel's own ranking, tables, formatting, import and export, backups, diagnostics, and the enable_tools switchboard.
e.g. read a range and see which values are cached · insert a column and keep the totals pointing right · sort the way Excel sorts, blanks last
40 TOOLS · ALWAYS ONNamed cell styles, a format painter, a style-bloat audit, conditional formatting, data validation, images, charts, the full table lifecycle (columns, totals, resize, banding), and named ranges including LAMBDA definitions and a cleanup pass.
e.g. put a colour scale on the variance column · define a LAMBDA the file still opens with · clear out 400 unused styles
9 TOOLSPage layout and print setup, headers and footers, advisory protection, legacy comments, multi-sheet export, and the read-side inspectors: external links, VBA, existing pivot tables, and data connections.
e.g. set the print area before it goes to the printer · find out what this workbook is linked to · check whether there is VBA in here
9 TOOLSDrives a private hidden Excel instance, never your open session: real recalculation, real pivot tables, goal seek, PDF export, sheet render to image, format conversion, real encryption, sparklines, true autofit, an opens-clean check, and an honest status report.
e.g. recalculate and get the value with the label to prove it · build a pivot table that is actually a pivot table · confirm the file opens with no repair prompt
11 TOOLSFeature grids flatter everybody. Here it is instead as the requests an agent actually gets:
| "Hey, could you…" | 🔌 KitchenSink4XL | haris-musa (openpyxl)4,155 GitHub stars† | The rest of the aisle*negokaz 1,021 · sbroenne 655† |
|---|---|---|---|
| "Insert a column in the middle, keep every formula pointing where it should." | ✔ formulas, tables, named ranges, charts and cross-sheet links all follow, checked against Excel's own recalculation | ✘ nothing in the docs says otherwise, and openpyxl, the library underneath, states plainly that it does not maintain formulas, tables or charts when rows and columns move | Excel does the shifting itself, on Windows, with the workbook closed and the application running |
| "Is this total current, or left over from the last save?" | ✔ every value labeled calculated, cached or absent, and the stale cells named by address | ✘ reads return the formula string; there is no way to get even the cached value | the COM server recalculates with Excel's own engine, but the value comes back with no freshness marking of any kind |
| "Sort it the way Excel would sort it, blanks and all." | ✔ numbers, then text case-insensitively, then FALSE, TRUE, errors, blanks last, both directions, checked cell for cell against Excel | ✘ no sort tool | Excel's own sort, with the application running |
| "Write a LAMBDA the file can still open afterward." | ✔ modern functions and their declared parameters prefixed correctly; 80 formulas across every documented family opened with no repair prompt | n/d, and no Excel MCP server surveyed documents the modern functions either way, as support or as a limitation | n/d |
| "Read the big workbook without torching my context window." | ✔ compact reads, a grid view, and server-side query and aggregation so the rows stay on the server | ✘ no pagination and no token budgeting anywhere in the docs; with no end cell given it reads the whole used range | the Go server pages reads by cell count, 4,000 cells at a time by default |
| "Recalculate it for real and prove it." | ✔ a private hidden Excel does the arithmetic and the result comes back labeled calculated, never mixed in with cached values | ✘ no recalculation tool, and the documentation never raises the subject | real recalculation on the COM server, which asks for Windows, an installed Excel, an interactive desktop and the workbook closed first |
Capability survey as of 2026-09-04, compiled from public repositories, documentation, and issue trackers. n/d: not documented in the sources surveyed, which is not a claimed absence. The most popular Excel MCP server is haris-musa/excel-mcp-server, 25 tools on openpyxl, last released 2026-04-12; its own open issues #94 and #118 ask for computed values instead of formula text. openpyxl's documentation states that it does not manage dependencies such as formulae, tables and charts when rows or columns are inserted or deleted. * The rest of the aisle: negokaz/excel-mcp-server (Go, seven tools, paginated reads, live editing on Windows), sbroenne/mcp-server-excel (C#, 31 tools over 326 operations driving the real Excel application, the capability ceiling, but Windows with Excel and exclusive access to the file, and no file-based tier). Two newer servers, PSU3D0/agent-spreadsheet and logisky/logisheets-mcp, embed real calculation engines and are worth watching. Microsoft ships no Excel MCP server, and Claude for Excel is an Office add-in rather than an MCP server. † Star counts read from the GitHub API on 2026-09-04, shown for context: stars say how long a shelf has been in view, not what is on it. Test and stress evidence is in the specs strip up top. Corrections welcome: open an issue.
Most MCP servers move into your AI's context like a hoarder: everything, up front, whether the job needs it or not. This one starts light and only unpacks a shelf when the work calls for it. Here is the bill, measured:
| On the meter | Tools | Tokens | When it draws |
|---|---|---|---|
| Lite core | 40 | 11.4k | From the first message of every session |
| Design pack | 9 | 3.4k | Only after enable_tools |
| Layout plus inspection pack | 9 | 2.5k | Only after enable_tools |
| COM pack | 11 | 2.6k | Only after enable_tools, and only on Windows with Excel |
| Everything switched on | 69 | 19.8k | KS4XL_MODE=full, if you want it all up front |
No other Excel MCP server surveyed publishes what its own tool definitions cost to load. The figures above come from a measuring script that ships with the source, so you can check them yourself.
The lite core carries no degraded stand-ins, so the lazy path is a dead end on purpose: a refusal for out-of-scope work names the exact pack and the exact call that unlocks it. Power users who want everything loaded from the start can pin it with KS4XL_MODE=full in the server environment, or a comma-separated pack list. Administrators can lock the selection with KS4XL_PACK_POLICY=locked.
Pick the line that describes you. Most people are the first one.
First launch through uvx downloads and builds the environment and can take 20 to 30 seconds before the server answers; every launch after that starts in about two. If a client reports a timeout on first install, launch once from a terminal and try again.
Download the installer bundle from the latest release and double-click it, or drag it into the Claude Desktop window. Desktop adds it as an extension and the sink is connected. Nothing to type, nothing to configure.
Download the .mcpb bundle →One-time requirement: uv on your PATH, which the bundle uses to start the server.
One line in a terminal and you are done. It fetches and runs the server for you, so there is nothing to install first.
Install the package and point any MCP client at the executable:
Then in any client's config: {"mcpServers": {"xl": {"command": "kitchensink4xl", "env": {"KS4XL_MODE": "lite"}}}}, where the mode is "lite" (the default), "full", or a comma-separated pack list. Running from a clone works the same way; point the command at the xl-mcp executable in the clone's virtual environment. The COM pack is an optional extra, pip install kitchensink4xl[com], and it is a no-op off Windows. On Windows the COM dependency often arrives transitively with the base install; installing with [com] is the guaranteed route either way, and harmless to repeat. Full setup in the README.
Most of this server needs no Excel installed at all and runs on any computer. The parts that ask Excel to do the work want Windows with Excel on it, and they open their own private copy, so the workbook you have on screen is never touched.
Every gate this shop runs is green: adversarial rounds through the raw protocol, ground-truth checks against Excel's own recalculation, zero corruptions across the corpus. What it has not had yet is a long life in strangers' workbooks, and spreadsheets earn trust in the field, not in the lab. If Excel is where you live, you are the laboratory this server needs: bring your ugliest workbook to the service counter and tell us what broke.
A value labeled wrong, a refusal that made no sense, a save that touched something it shouldn't have. File it at the repair counter: the form asks exactly what a fix needs. Never paste real spreadsheet data; describe the shape of the workbook instead.
File a bug report → 🔌A spreadsheet capability the sink should also have. Describe the real task behind it and it goes on the workbench.
Request a feature → 💼Free for individuals and personal use, and it stays that way. If your company wants to build it into a product of its own, that needs a commercial license, with terms worked out case by case. This counter is where you start that conversation.
Arrange a license →Reports are public GitHub issues (a free GitHub account is needed to file one). Every report lands in the maintainer's inbox.
Atomic saves. Automatic backups before every change. And one extra wire, because this is a spreadsheet: before a release ships, every kind of edit is checked against Excel's own math. The wiring gets inspected before the power goes on.
Provided as-is, without warranty of any kind, per the license; the engineering above is simply how seriously your workbooks are taken. Keep backups. (It makes them for you.)
The original fixture: everything plus the kitchen sink for Microsoft Word. 219 operations across 108 tools, live editing of open documents, citations, merge-aware table surgery, tracked changes, engineered not to corrupt.
Visit the plumbing aisle → 💡The decor aisle: everything plus the kitchen sink for Microsoft PowerPoint. 138 tools, diagrams that arrive as native shapes with connectors glued to them, so the box moves and the arrows follow.
Visit the decor aisle → 🏪The whole hardware store on one page: every KitchenSink server, its fixture, and its counter, plus a shelf or two that are not empty by accident.
Browse the store →