Community edition
Windows · Linux (macOS untested)
Everything plus the kitchen sink for Microsoft Excel: the .xlsx MCP server that never hands your AI a number it cannot back up.
The Sinks protect file integrity, not the truth of an AI assistant's output. Review AI-generated work before relying on it. Read the Community House Rules.
↓ or start with the part nobody tells you: why the numbers an AI reads out of a spreadsheet might be wrongThe short version of 2.0, no changelog reading required.
A spreadsheet remembers its answers, not its thinking. When something changes upstream, the old answers just sit there, looking exactly like real numbers. An AI that reads one anyway can report it confidently, and you may 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 labels in this demo are not decoration for you: they are what this server tells your AI about every number it reads.
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.
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.
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.
The cheap version is to move the cells, save the file, and 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 131 actions sit on seven tools, the way a good shop groups what belongs together: 131 actions in 7 tools. All seven are on the floor from the first message, about 5.5k tokens in all, and nothing is switched on later. xl_help (the seventh tool, with no actions of its own) gives the arguments and a worked example for any action.
Everything that only looks: view the workbook as a grid, read cells and ranges with every formula result labeled calculated, cached or absent, ask sum-this-column questions without pulling every row into the AI's memory, search, read tables, and run the diagnostics, validation checks, formula and style audits, and the inspectors for pivots, connections, external links and VBA.
e.g. read a range and see which values are cached · audit the formulas before sharing · check whether there is VBA in here
26 ACTIONSWrite values and formulas, copy and move ranges, find and replace, import CSV and JSON, and apply a whole batch of edits under one backup and one save.
e.g. fill a column with a formula · import a CSV into a sheet · apply forty edits as one all-or-nothing batch
13 ACTIONSNumber and cell formats, named styles, a format painter, column widths and row heights, merges, conditional formatting, comments, hyperlinks, images, charts and sheet view settings.
e.g. put a color scale on the variance column · add a chart beside the table · link a cell to its source
27 ACTIONSWorksheets, row and column inserts and deletes that carry their references, tables, named ranges including LAMBDA definitions, sorting, filters and data validation.
e.g. insert a column and keep the totals pointing right · sort the way Excel sorts, blanks last · define a LAMBDA the file still opens with
32 ACTIONSNew workbooks and copies, backups and snapshots, document properties, protection, page layout, headers and footers, and range and multi-sheet export.
e.g. restore the version from before the last change · set the print area before it goes to the printer · copy a workbook to experiment on
16 ACTIONSDrives 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 and an opens-clean check.
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
17 ACTIONSEvery MCP server costs its AI some working memory. This one loads all of it once, up front, and keeps it small: seven tools, 131 actions, ~5.5k tokens, measured. Here is the bill:
| On the meter | Actions | Tokens | When it draws |
|---|---|---|---|
xl_read | 26 | 1.0k | From the first message of every session |
xl_edit | 13 | 0.8k | From the first message of every session |
xl_format | 27 | 0.9k | From the first message of every session |
xl_structure | 32 | 0.8k | From the first message of every session |
xl_workbook | 16 | 0.8k | From the first message of every session |
xl_app | 17 | 0.9k | From the first message; its Excel actions need Windows with Excel |
xl_help | 0 | 0.2k | From the first message of every session |
| All seven | 131 | 5.5k | Loaded once at the start; nothing to switch on later |
The figures above come from a measuring script that ships with the source, so you can check them yourself.
The whole surface loads at the start, so no tool goes missing mid-task, and the server's own instructions add about 500 tokens. Administrators who want less can set KS4XL_READ_ONLY=1, or list the tools or actions to remove in KS4XL_FORBID; what is removed no longer counts. Clients that defer tool schemas until first use pay close to nothing until a tool is called.
Install the package and point any MCP client at the executable:
Then in any client's config: {"mcpServers": {"xl": {"command": "kitchensink4xl"}}}. Every action is available as soon as the server starts. To limit it, set KS4XL_READ_ONLY=1 for a server that only reads, or list the tools or actions to remove in KS4XL_FORBID. xl-mcp is an equivalent command, and python -m ks4xl_community_launch starts the same server. The Excel-driving actions (the xl_app tool) need the 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.
Works with Claude Desktop, Claude Code, Codex, and other AI apps that support local MCP servers, including open-source clients.
ChatGPT on the web uses a separate remote connection. These local installers do not configure it.
Windows and Linux for file editing (macOS is untested in this release). Live Excel control and recalculation through Excel require Windows and Microsoft Excel.
Choose your computer and the app you use. Open its instructions below.
These tools use uv, a small launcher. If you already installed it for another KitchenSink product, skip to the next step.
Open the Windows Start menu, type PowerShell, and open Windows PowerShell. Copy this command, paste it into that window, and press Enter.
Open Terminal on your Mac or Linux computer. This command installs uv with Homebrew. If you do not use Homebrew, follow the help link below instead. Paste the command into Terminal and press Enter.
winget install --id=astral-sh.uv -eWhen it finishes, close and reopen your command window before continuing.
Launcher helpThis .mcpb file is for Claude Desktop. Your browser usually saves it in Downloads.
In Claude Desktop, open Settings → Extensions → Advanced settings → Install Extension. Select the .mcpb file you downloaded, then fully quit and reopen Claude Desktop.
Open Settings → Extensions and check that your KitchenSink extension is enabled. Start a new chat and ask the app to use its KitchenSink tools to show the server information. A successful tool result confirms it is connected.
These tools use uv, a small launcher. If you already installed it for another KitchenSink product, skip to the next step.
Open the Windows Start menu, type PowerShell, and open Windows PowerShell. Copy this command, paste it into that window, and press Enter.
Open Terminal on your Mac or Linux computer. This command installs uv with Homebrew. If you do not use Homebrew, follow the help link below instead. Paste the command into Terminal and press Enter.
winget install --id=astral-sh.uv -eWhen it finishes, close and reopen your command window before continuing.
Launcher helpOpen Settings → MCP servers → Add server. Choose STDIO (a tool running on your computer). Enter the fields below; these are settings, not a message to paste into chat. Field names may differ by app version.
KitchenSink4XLuvxkitchensink4xlSave the server, then select Restart. In a new conversation, type /mcp and check that your KitchenSink server is connected.
These tools use uv, a small launcher. If you already installed it for another KitchenSink product, skip to the next step.
Open the Windows Start menu, type PowerShell, and open Windows PowerShell. Copy this command, paste it into that window, and press Enter.
Open Terminal on your Mac or Linux computer. This command installs uv with Homebrew. If you do not use Homebrew, follow the help link below instead. Paste the command into Terminal and press Enter.
winget install --id=astral-sh.uv -eWhen it finishes, close and reopen your command window before continuing.
Launcher helpWith Claude Code or Codex installed, open PowerShell on Windows or Terminal on Mac or Linux. Paste the command for your app and press Enter. Do not paste it into an AI chat.
claude mcp add xl -s user -- uvx kitchensink4xlcodex mcp add xl -- uvx kitchensink4xlRestart your AI session. In Claude Code, open /mcp and check the connection status. In Codex, open /mcp and check the connected servers. If a server fails, use the help below.
A value labeled wrong, an error message that made no sense, a save that touched something it shouldn't have. File it at the 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 any use that meets the AGPL's terms, including its source-sharing obligations. 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 →Bug reports and feature requests are public GitHub issues and require a free account. Licensing inquiries use the private contact form.
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-upsProvided 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.)
Everything plus the kitchen sink for Microsoft Word. 231 actions across 10 tools, live editing of open documents, citations, merge-aware table surgery, tracked changes, engineered not to corrupt.
Visit the plumbing aisle →The paint aisle: everything plus the kitchen sink for Microsoft PowerPoint. 193 actions across 9 tools, diagrams that arrive as native shapes with connectors glued to them, so the box moves and the arrows follow.
Visit the paint aisle →Everything plus the kitchen sink for the web: budgeted page reads that name what went unread, structured extraction with named evidence, and a consent ladder that cannot be talked into payments. Read-only out of the box.
Visit the garden 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 →