Inside Stripe's AI Data Stack: Hubert, Toolshed, and the Data Discovery Problem
8,500 Stripe employees use LLM tools daily. Their biggest lesson? The model isn't the hard part.
Emily Glassberg Sands, Stripe's Head of Data & AI, shared details of their internal AI infrastructure on the Latent Space podcast. The numbers: 8,500 employees on AI tools daily, 900 people per week on their text-to-SQL assistant, 65-70% of engineers on AI coding assistants.
The most interesting insight is not the adoption. It is what turned out to be hard: data discovery.

Hubert: Text-to-SQL at Scale
Stripe's internal text-to-SQL assistant is called Hubert. It sits on Hubble, their central data catalog. About 900 employees use it every week, nearly 10% of the company.
And here is the candid assessment:
"The biggest failure mode has been data discovery."
Users do not know which tables exist, which are trustworthy, or which hold the data they need. SQL generation was never the bottleneck.
The Data Discovery Fix
Stripe's response was not a better model. It was upstream data governance:
1. Deprecate low-quality tables. Stale, unmaintained, or duplicate tables get removed. Fewer tables means less confusion for humans and models alike.
2. Human-owned documentation for canonical datasets. The most important datasets get carefully written descriptions of what they contain and when to use them. Not auto-generated metadata.
3. Persona context as system prompts. Hubert knows which org you are in and biases table selection accordingly. A finance analyst gets different recommendations than an engineer. Generic text-to-SQL treats all users the same. Stripe recognizes that context determines relevance.

Toolshed: The MCP Server That Connects Everything
Beyond Hubert, Stripe built Toolshed: a central MCP server with "access to all the Stripe tools." It connects Slack, Google Drive, Git, Hubble, and the query engines.
The key point: Toolshed lets agents retrieve information and take actions. It is not just a read layer. Using MCP as the integration backbone is becoming the standard pattern. ClickHouse and Airbnb are building similar systems.
The Canonical Data Problem
Stripe is re-architecting its data infrastructure with AI consumption in mind:
"Semantic events and real-time canonicals... re-architecting payments and usage billing pipelines so the same near-real-time feed powers Dashboard, Sigma, and data exports (e.g., BigQuery) with one source of truth that LLMs can consume."
One canonical layer serves the customer dashboard, the Sigma analytics product, data exports, and internal AI tools. When data is canonical, AI tools work. When it is fragmented, every AI application inherits the confusion. Their customer-facing Sigma Assistant performs well for exactly this reason: "revenue data is canonical."
go LLM: Democratizing Model Access
Stripe's first internal AI use cases came from bottom-up experimentation on "go LLM," a ChatGPT-like interface over many models. Behind it sits an internal API that abstracts model access, handles security, auditing, and rate limits, and picks models automatically. That one API powers over 60 LLM applications. Build the platform once, enable experimentation everywhere.
The Numbers That Matter

| Metric | Value |
|---|---|
| Daily LLM tool users | 8,500 |
| Weekly Hubert users | ~900 |
| Engineers using AI coding assistants | 65-70% |
| Internal LLM applications | 60+ |
| Models supported | 12+ |
These are not pilot numbers. This is production adoption across a 10,000-person company. And Stripe measures the impact as "developer perceived productivity" rather than lines of code, because AI changes how work gets done, not just how much gets typed.
What Data Teams Should Steal
1. Data discovery is the bottleneck. Deprecate bad tables. Document good ones. Do this before optimizing SQL generation.
2. Persona context improves relevance. Know who is asking. A finance user and an engineer need different tables.
3. Build the platform, enable experimentation. One abstraction layer, 60+ applications.
4. Canonical data makes everything easier. One source of truth for dashboards, exports, and AI tools.
5. MCP is the integration pattern. Retrieve and act across every tool from one server.
The Bottom Line
Stripe processes about $1.4 trillion in payments a year, roughly 1.3% of global GDP. At that scale small improvements compound. But the lesson applies at any scale:
- Hubert works because they fixed data discovery first, not because they found a better LLM.
- Toolshed works because MCP provides a standard integration layer, not custom connectors for every tool.
- go LLM works because they abstracted model access, enabling 60+ applications without 60+ integrations.
The model is a commodity. Your data architecture is the competitive advantage.
Related reading:
- Uber's Finch: The Financial Data Agent That Lives in Slack
- ClickHouse's AgentHouse: When a Database Company Bets on AI Agents
- Ramp Research: The Analyst Agent That Answers 1,800 Questions a Month
Rick Radewagen
Rick is a co-founder of Dot, on a mission to make data accessible to everyone. When he's not building AI-powered analytics, you'll find him obsessing over well-arranged pixels and surprising himself by learning new languages.
