Stop hunting through tabs for one number
You have the data. It's right there in a spreadsheet: every order, every invoice, every customer. But getting one answer out of it ("which region did the most last month?", "who hasn't paid?") means a pivot table, a wall of formulas, or a filter you'll have to rebuild next time you blink.
This kit lets you ask the spreadsheet a question in plain words ("total revenue by region, biggest first"), and get the answer back, plus a tidy little chart, plus the exact steps it used to get there. You read the steps, you trust the number. No formula wrangling, no SQL.
Point it at your data: a CSV or a Google Sheet
data/orders.csv) or a link to a Google Sheet you can read. The kit loads
the rows into memory and notices the columns (their names and whether they hold
numbers, dates, or text). Nothing is uploaded anywhere.Here's a slice of the sample sheet that ships with the kit, a tiny orders export. Your real one can have thousands of rows and any columns you like:
| # | date | region | rep | product | amount | status |
|---|---|---|---|---|---|---|
| 1 | 2026-05-02 | West | Dana | Pro plan | $1,200 | Paid |
| 2 | 2026-05-04 | East | Marco | Starter | $300 | Unpaid |
| 3 | 2026-05-09 | West | Priya | Pro plan | $1,200 | Paid |
| 4 | 2026-05-12 | South | Dana | Team | $2,400 | Paid |
| 5 | 2026-05-18 | East | Sam | Starter | $300 | Unpaid |
| ... | 42 rows in the sample (orders.csv) | |||||
Give it a brain: connect Claude
- Go to console.anthropic.com and sign in.
- Open API Keys โ Create Key.
- Copy the key (it starts with
sk-ant-).
claude-opus-4-8 (sharpest). Lots of questions? Day 4: which model helps you pick a cheaper one.
Expose the sheet as a tool: read-only by default
@modelcontextprotocol/sdk) so Claude sees it
as a tool it can use, not a file it can rewrite. The tool offers a few safe,
read-only actions: list the columns, count rows, filter, group, total. It does
not offer "write a cell" or "delete a row" unless you turn that on yourself.โข Read-only on your data by default. The tool can look, group, and total. It cannot change a single cell unless you explicitly enable writes.
โข Every answer shows its work. You see the exact filter and computation it ran, so the number is auditable, not a black box.
โข No edits without confirmation. If you do enable writes later, the kit drafts the change and waits for your tap before touching anything.
The same sheet-as-a-tool idea powers a lot of useful kits. If you want to understand the wrapper itself, Day 9: Build an MCP walks through it line by line.
Try it: ask a question, see the answer and the steps
Tap a sample, or write your own:
Audit the answer, and confirm before any change
โข The data is read-only unless you flip a switch you control.
โข Every answer is auditable: you always see the computation.
โข No write touches the sheet without your explicit confirmation.
In the kit, you ask from the terminal (npm run ask),
from Claude itself (it drives the MCP tool), or from a tiny chat box. Same engine, same
"show the work" answer, same read-only-by-default rule everywhere.
Bonus: save a question and get a chart on a schedule
npm run report and the kit answers your
saved questions and renders each one to a simple chart you can drop into an email or a
slide. Still read-only, still shows its work, still never edits your sheet.npm run ask # ask a one-off question in your terminal, nothing changes npm run report # answer your saved questions + render charts npm run mcp # expose the sheet as a tool so Claude can query it npm start # run the little chat box for the whole team
Run it yourself: it's free and it's the real thing
The kit is a complete, runnable repo: point it at a CSV or Sheet, connect Claude, and
ask questions in plain English. It shows its work, draws charts, and is read-only by
default. MIT-licensed, runs on your machine, nothing crippled. Run
npm run setup and you're asking questions.
Go live
With the kit downloaded and the checklist green:
npm install npm run setup # Claude key + your data path saved on YOUR machine npm run ask # ask your spreadsheet a question
Type a question and read the answer, the steps, and the chart right there. Prefer to
drive it from Claude? Run it as an MCP server (npm run mcp) and your
sheet becomes a tool Claude can query, the same idea from
Day 9: Build an MCP. Not sure which model to point it
at? Day 4: which model helps you choose.
Want it talking to your live data across every tool?
This kit is the DIY taste, one sheet on your laptop. We connect it to your live data across tools (your CRM, your billing, your warehouse), with guardrails: role-based access, audit logs, and read-only locks where you want them, so the whole team can just ask.
Have Rabbithole build it โ โณ Day 9: Build an MCP