Our client runs over 75 pubs, bars and hotels. Every site creates numbers all day: covers, bookings, rooms, sales and guest feedback. Their data team has already done the hard part of pulling it all into one place.
We're building what sits on top, and at the centre of it is the Reporting MCP. MCP (Model Context Protocol) is the standard way AI tools such as Claude connect to other systems. Ours is the front door to the data: it knows who's asking and what they're allowed to see.
On top of it sit two things. A reporting app that every site can use on a laptop or phone, and a connection that lets head office ask questions straight from Claude. Both go through the same MCP, so a GM in the app and a finance director in Claude get the same answer, under the same rules.
Why not just connect AI to the data?
You could. Lots of businesses are trying it: point an AI tool at the data and let people ask away. The trouble starts quickly.
Two people get two answers. The AI works each answer out from scratch, so one person's "revenue" or "last week" isn't the same as the next person's.
"Please don't" isn't security. A pub manager shouldn't see salaries. If the only thing stopping them is an instruction to the AI, that's not good enough.
Nobody knows what's going on. There's no record of what's been changed, or what people are asking.
When a GM, a head chef and the finance director all look at the same weekly figures, those figures need to match. Once they don't, people stop trusting the reports.
How it fits together
:quality(75))
Everything goes through the Reporting MCP. The app's dashboards, its built-in assistant and Claude all ask for data the same way, so they show the same numbers and nobody sees more than they should.
What you get that a DIY setup doesn't
DIY: AI connected straight to the data | What we're building | |
|---|---|---|
One way in for every tool | Each app or AI tool gets its own connection and its own rules | The app and Claude both connect through the Reporting MCP, so the rules are set once |
The same answer every time | The AI works each sum out from scratch, so answers drift | Each figure, such as covers, sales or guest scores, is defined once and used everywhere |
Everyone sees only their own data | Relies on telling the AI, or a separate login for each person | Built into the system, so each person sees what their role allows and nothing more |
It speaks your language | The AI has to guess what "takings" or "last week" means | It knows the business terms, the sites and who's asking |
Changes are checked | Anyone with access can change things, with no record | Every change is recorded, checked by two people and tested before it goes live |
You know what's used | No idea what people ask | Every question is recorded, so the ones asked every week can become a dashboard |
The part that holds the definitions and the rules is called a semantic layer. Data teams have used them for years. The difference here is that the AI has to go through it too, like everyone else.
What changes day to day
A GM opens the app on their phone, sees how their site's week compares with the rest of the group, and asks how covers compare with last year.
The finance director asks Claude the same thing and gets the same number.
When the data team change how a figure is worked out, they change it once and it updates everywhere.
When another tool needs the data later, it connects to the same MCP and the rules come with it.
We're starting with guest feedback, then adding bookings and sales. The app will run alongside their current reports until the numbers match.
If your team is already asking AI about your numbers, we're happy to talk through how to do it safely. Get in touch with Tom&Co AI.
:quality(75))
:quality(75))
:quality(75))
:quality(75))