ELECTRICAL DEPARTMENT · FINE INSTRUMENTS FOR THE FULLY WIRED WORKBOOK CATALOG № 69 · FAMILY · SERVICE · GITHUB · PYPI · LLMS.TXT
THE KITCHENSINK WORKS 🚰 KitchenSink4Word 🖌️ KitchenSink4PPT 🔌 KitchenSink4XL (you are here) 🪴 KitchenSink4Web 🏪 The storefront
HONEST
NUMBERS
ON OFF
flip the switch Live
Model Context Protocol · Server for Microsoft Excel

Kitchen­Sink4XL

Everything plus the kitchen sink for Microsoft Excel: the .xlsx MCP server that never hands your AI a number it cannot back up.

Ratings plate
129Operations
69Tools
1,294Tests
882Stress calls
0Corruptions
Install the Sink Read the Source
↓ or start with the part nobody tells you: why the numbers an AI reads out of a spreadsheet might be wrong
JUST IN New on the shelf What version 1.2 just added

The short version of the release, no changelog reading required.

  • Schemas some AI clients need. 39 tool parameters used to emit empty schemas, and some clients silently drop tools over that. All 500 parameters now carry real ones, verified over a live connection.
  • Six more conditional formats, plus grouping. Unique, duplicate, above and below average, time period, blanks, and errors join the rule set, and rows and columns can now be grouped, collapsed, and read back.
  • Refusals name the real problem. A read-only file is no longer confused with a file Excel is holding, a missing clipboard is named in plain words, and the hazard gate stops suggesting a route that could not help.
DEPT. 00

The number that looks right and isn't

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.

The test bench

The labels in this demo are not decoration for you: they are what this server tells your AI about every number it reads.

NO LABEL IS IT CURRENT?

Other tools on this shelf(other Excel MCPs)

B2 B3 =B2*4 B4 =B3+B2 20 48 60

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.

LABELED

This one

B2 B3 =B2*4 B4 =B3+B2 12 48 60 VALUE CALCULATED CALCULATED
What your AI is told

These two results were calculated from the number on the left, and their labels say so: calculated, current.

Now edit the number. The two results keep their old values, and their labels flip to cached: they are showing yesterday's math, and your AI is told so in exactly these words. Press recalculate and watch the labels catch up. Tab and Enter work too.

This demo is a toy that runs in your browser, so you can feel the idea in ten seconds. On real .xlsx files the real server does the same thing for your AI: every value it hands over is labeled calculated, cached, or absent, read out of the file itself. An AI that is told a number is stale cannot honestly repeat it as current, and when recalculation matters, an actual copy of Excel does the arithmetic. Hallucinated numbers are the biggest trust problem AI has with spreadsheets; this is the layer built to prevent them.

DEPT. 01

What happens to column F when you insert column D

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.

DEPT. 02

The shelves, pack by pack

The tools are arranged in capability packs, the way a good shop groups what belongs together. Connecting tools to an AI costs some of its working memory, so a session opens with just the everyday core, 40 tools, 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.

Lite Core PACK 0 · ALWAYS ON

The everyday bench: read cells and ranges with every value labeled, view the workbook as a grid, ask questions like sum-this-column without pulling every row into the AI's memory, write and check formulas, insert and delete rows and columns without breaking what points at them, sort and filter the way Excel does, plus tables, formatting, import and export, backups, and diagnostics.

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 ON

Design THE FINISH WORK

Named 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 TOOLS

Layout plus Inspection OUT THE DOOR

Page 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 TOOLS

COM (the mains) WINDOWS + EXCEL

Drives 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 TOOLS
DEPT. 03

Against the other tools on this shelf (the other Excel MCP servers)

Instead of a feature checklist, here are six things people actually ask an AI to do with a spreadsheet, and how it usually goes:

Why it matters: the AI cannot see what a tool never hands it. Give it a stale number and it will repeat that number to you with full confidence; drop a row silently and its summary is wrong with no warning. Every line in this table is a way you end up trusting a wrong answer.

"Hey, could you…"🔌 KitchenSink4XLharis-musa (openpyxl)4,155 GitHub stars†Other tools on this shelf*(other Excel MCPs)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 moveExcel 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 valueone competing tool can ask Excel itself to recalculate, but the value comes back with no marking of whether it is fresh or stale
"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 toolExcel'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 promptn/d, and no Excel MCP server surveyed documents the modern functions either way, as support or as a limitationn/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 way to read a little at a time; ask without an end point and it reads everything, straight into the AI's memorythe 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 subjectreal recalculation by driving Excel directly, which needs Windows, an installed Excel, a logged-in 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. * Other tools on this shelf: 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.

DEPT. 04

The context bill

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 meterToolsTokensWhen it draws
Lite core4014.5kFrom the first message of every session
Design pack94.1kOnly after enable_tools
Layout plus inspection pack92.6kOnly after enable_tools
COM pack112.6kOnly after enable_tools, and only on Windows with Excel
Everything switched on6924.2kKS4XL_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.

0 5 10 15 20 Tokens ×1000
Lite core14.5k
Everything switched on24.2k
40Tools in the lite core
14.5kTokens, lite core up front
1Call to the whole sink
# an agent in lite mode goes looking for a real recalculation > recalculate … REFUSED: recalculation lives in the com pack. Run enable_tools(["com"]) to switch it on. > enable_tools(["com"]) OK: pack enabled, tools registered, token cost reported.

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.

DEPT. 05

Wiring it in

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.

Easiest

Using Claude Desktop? One double-click.

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 command

Using Claude Code? Paste this.

One line in a terminal and you are done. It fetches and runs the server for you, so there is nothing to install first.

$ claude mcp add xl -s user -- uvx kitchensink4xl
Do this first

One tip that removes most permission pop-ups

In Claude Desktop's Tool permissions for this server, set the Read-only tools group to Always Allow. Those tools cannot change anything, so approving them once is safe, and Claude stops asking about every read. Leave the acting tools on Ask, so anything that changes things still checks with you first.

For developers: pip, uvx, source, other MCP clients

Install the package and point any MCP client at the executable:

$ pip install kitchensink4xl

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.

DEPT. 06

Customer service

Young, and tested like it isn't

Before release this server was tested the hard way: months of deliberate attack rounds trying to corrupt files, sneak past the safety checks, and catch it lying, plus every kind of edit checked against Excel's own math. All of it came back clean. 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 customer service counter and tell us what broke.

NOW SERVING · TAKE A NUMBER · SAME DESK AS THE WORD AND POWERPOINT SINKS

Reports are public GitHub issues (a free GitHub account is needed to file one). Every report lands in the maintainer's inbox.

🛡️

Engineered Not to Corrupt

Saves either complete perfectly or change nothing, never half. 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.

One tip that removes most permission pop-ups

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.)

DEPT. 07

The other aisles