Who this is for, and the moment
You’re in Slack, or in Claude with six other things open, and a finance question comes up. Switching tabs to ask it is usually the reason it never gets asked. So the answer comes to where you are, with the same receipts it would carry in the browser.
The question, as typed, in Slack
“@grounded what was the total revenue in may 2026 vs budget?”
The answer
The same answer the browser gives: £21.063m actual against £20.753m budget, £0.310m favourable, with the [S11] marker in the text, a Sources line under it (the sheet and the cell range), and a button to the thread in Grounded.
The same question in Claude
A real run of Claude Code against the local Grounded MCP server on 12 October 2026, unedited. The command, then everything Claude Code printed:
claude -p "Use the grounded MCP server's ask_grounded tool to answer exactly this question: 'Does the cash in the May pack tie to the bank?'. Relay Grounded's answer verbatim, keeping its [S#] markers, then add a numbered Sources list built from the citations it returned, then the thread_url. Do not add figures of your own." --mcp-config grounded-mcp.json --allowedTools "mcp__grounded__ask_grounded"
Here is Grounded's answer, word for word:
---
The May cash **does tie to the bank mathematically**, but there is a **stale outstanding cheque that needs reviewer decision before I'd mark the bank rec fully complete**.
**Reconciliation check**
- May bank statement closing balance: **£9,882,613.23** from the Pennine Commercial Bank statement for 1–31 May 2026 [S45].
- Reconciling items per the May bank rec:
- Cheque 004182 — Airedale Window Cleaning: **£1,850.00 unpresented**, still outstanding at 12 Jun and marked stale [S93].
- Expense claims batch: **£23,412.77**, cleared 1 Jun [S93].
- Supplier payment run: **£1,191,437.29**, cleared 1 Jun [S93].
- Customer remittances in transit: **£161,309.55**, cleared 1 Jun [S93].
- Card settlements: **£84,166.20**, cleared 1–2 Jun [S93].
Using the required identity:
**£9,882,613.23 − £1,850.00 − £23,412.77 − £1,191,437.29 + £161,309.55 + £84,166.20 = £8,911,388.92**
That recomputes exactly to the May cashbook closing balance of **£8,911,388.92** [S93], which also matches the cashbook extract closing balance [S19]. The May Monthly Reporting Pack Balance Sheet reports **Cash & cash equivalents of £8,911k** [S57], so the cashbook balance rounds to the pack figure in £'000.
**Verdict:** **TIES, subject to stale-item checkpoint.** The arithmetic ties bank → cashbook → pack, but Cheque 004182 is still outstanding at 12 Jun and marked stale; please decide whether to **chase, reissue, or write back per policy** before final sign-off.
I've also saved the verification note here: `deliverables/bank-rec-verification-May-26.md`.
---
**Sources**
1. [S45] Bank Statement - Operating Account - May-26.pdf, page 1. Status: not_verified
2. [S93] Bank Reconciliation - Operating Account - May-26.xlsx, sheet "Bank Reconciliation", cells B10:B16. Status: not_verified
3. [S19] Cashbook Extract - May-26.xlsx, sheet "Cashbook", cell G53. Status: not_verified
4. [S57] Monthly Reporting Pack - May-26.xlsx, sheet "Executive Summary", cell B21. Status: not_verified
**Thread:** http://localhost:5173/chat/f382ae8a-3060-4065-b87a-80ecd6a3c047
**Two things to check before relying on this:**
- Grounded marked all four citations as **not_verified**.
- The answer says the pack figure comes from the **Balance Sheet**, but [S57] actually points to the **Executive Summary** sheet ("Ending cash", B21).
Two things to notice in what Claude Code added at the end. It saw the citation status field and reported it rather than hiding it; that field is the on-demand citation check, which had not been run on the thread. And it caught the answer naming the Balance Sheet where the citation pointed at the Executive Summary cell. The agent received enough to audit the answer, and did.
Claude calls ask_grounded, receives the answer with its citations as data, and relays it with the markers intact. Claude never read the bank statement. Grounded did, and said where.
The citation clicked

The thread link opens Grounded on the audited conversation, and from there a citation opens the cell it came from. Nothing about the answer changed on the way to Slack.
The trust chain
The chain travelled with the answer. Each citation carries its verification status in the data the agent received, which means an agent can refuse to relay an answer whose figures didn’t verify.
What to notice
- I kept it to one login per key. The agent sees what that person sees, inside that organisation, and nothing else.
- The thread is in the Grounded UI afterwards. Anyone can check the agent’s work.
- The agent never gets a bare number. It gets the figure with its proof attached, or it gets a refusal.
Video
None yet. The re-set exchanges and the transcript carry this page.
Related
Technical: MCP · API · Security and data. Use case: Check the board pack.
Posts: What is an API, actually? · An AI agent is a loop. Here is the loop.