KitchenSink4AI
INSTALL
ELECTRICAL DEPARTMENT · FINE INSTRUMENTS FOR THE FULLY WIRED WORKBOOK CATALOG № 131
HONEST
NUMBERS
ON OFF
flip the switch Live
Model Context Protocol · Server for Microsoft Excel

Community edition

Kitchen­Sink4XL

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.

Ratings plate
131Actions
7Tools

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.

Install the Sink Read the Source Business editions
↓ 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 2.0.0

The short version of 2.0, no changelog reading required.

  • 131 actions, and your agent still picks right. Everything Excel 1.x could do is still here, now organised into seven clear tools: about 5.5k tokens for the whole menu, everything ready from the first message, nothing to switch on.
  • Edits leave the rest of the workbook alone. An ordinary cell edit keeps everything else byte for byte, and the full rewrite now carries back labels, custom properties, external links and the password to modify.
  • Spill formulas spill. A formula that returns an array is written as a dynamic array, so Excel shows the whole spill instead of =@UNIQUE(...) with one value, and Excel's formula limits are checked before saving.
DEPT. 00

The number that looks right and isn't

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 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?

Without labels(no status on each value)

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.

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.

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.

DEPT. 02

The shelves, tool by tool

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.

xl_read LOOK, DON'T TOUCH

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 ACTIONS

xl_edit THE WORKBENCH

Write 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 ACTIONS

xl_format THE FINISH WORK

Number 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 ACTIONS

xl_structure THE FRAMEWORK

Worksheets, 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 ACTIONS

xl_workbook OUT THE DOOR

New 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 ACTIONS

xl_app (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 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 ACTIONS
DEPT. 03

The context bill

Every 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 meterActionsTokensWhen it draws
xl_read261.0kFrom the first message of every session
xl_edit130.8kFrom the first message of every session
xl_format270.9kFrom the first message of every session
xl_structure320.8kFrom the first message of every session
xl_workbook160.8kFrom the first message of every session
xl_app170.9kFrom the first message; its Excel actions need Windows with Excel
xl_help00.2kFrom the first message of every session
All seven1315.5kLoaded 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.

0 5 10 15 20 Tokens ×1000
All seven5.5k
7Tools, all up front
5.5kTokens, the whole surface
0Calls to switch anything on
# an agent asks how a call works before making it > xl_help(op="query_range") OK: the arguments and a worked example. Nothing was changed.

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.

DEPT. 04

Wiring it in

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"}}}. 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.

Choose your AI app

Claude Desktop
  1. Set up the launcher once

    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.

    winget install --id=astral-sh.uv -e

    When it finishes, close and reopen your command window before continuing.

    Launcher help
  2. Download your extension

    This .mcpb file is for Claude Desktop. Your browser usually saves it in Downloads.

  3. Add it to Claude Desktop

    In Claude Desktop, open Settings → Extensions → Advanced settings → Install Extension. Select the .mcpb file you downloaded, then fully quit and reopen Claude Desktop.

  4. Check that it worked

    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.

Claude Desktop setup guide

ChatGPT Desktop
  1. Set up the launcher once

    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.

    winget install --id=astral-sh.uv -e

    When it finishes, close and reopen your command window before continuing.

    Launcher help
  2. Connect the tool in ChatGPT Desktop

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

    KitchenSink4XL
    Name
    KitchenSink4XL
    Command
    uvx
    Arguments
    kitchensink4xl
  3. Check that it worked

    Save the server, then select Restart. In a new conversation, type /mcp and check that your KitchenSink server is connected.

ChatGPT Desktop setup guide

Claude Code / Codex
  1. Set up the launcher once

    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.

    winget install --id=astral-sh.uv -e

    When it finishes, close and reopen your command window before continuing.

    Launcher help
  2. Add the tools to your app

    With 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 Code
    claude mcp add xl -s user -- uvx kitchensink4xl
    Codex
    codex mcp add xl -- uvx kitchensink4xl
  3. Check that it worked

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

Install Claude Code · Install Codex

DEPT. 05

Customer service

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

Bug reports and feature requests are public GitHub issues and require a free account. Licensing inquiries use the private contact form.

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

The other aisles