Fullstory MCP · 2026-09-16
Claude already has the data. It did not have the person.
The problem
Alo · UX Research
“Show me where users slow down in the checkout flow — I’m building a hypothesis for a redesign.”
Alo · Customer Support
“A VIP customer just hit an error at checkout. Find the session and tell me what broke.”
A blank prompt picks a path and keeps it. That is the gap — not missing data. Missing orientation.
The definition
Claude orients to the job of the person directing the agent, then uses the same MCP tools.
The spine
A long session is either deep engagement or severe confusion. Currency is what was spent and what was sought.
L2 — the customer’s user
What their users spend and seek. This is how the agent decides which MCP call is first — funnel time, campaign segment, exception class, session open.
L1 — the person at the keyboard
What the analyst is buying from the evidence. The harness locks L1 by persona. A UX job and a support job never share a stop condition.
NAV is a toll, not a currency. Missing button ≠ payment failure ≠ confirmation that never loads.
How the rails are assigned
One primary currency per job. Secondary only when the job genuinely spends in more than one.
The work this persona actually does — not the title.
Where to look first. Surfaces, objects, known baselines.
When the agent is done. Honest null is a valid finding.
How the answer is handed back — plan, clip, table, HTML.
Pass 1 · Session start
Default cell. The agent leads with the persona’s primary currency before anyone has named a job.
Pass 2 · Analysis start
Primary + spans apply. Signal order, priors, and stop conditions swap. The lens sharpens.
What lands on their machine
Locked at cut time. Retail for Alo. Not the whole library.
Picked at /startup. UX today, engineer tomorrow — same zip.
derive.py does not ship. The cell is already composed.
Selects from the cell’s own jobs. Re-weights without a second derive.
The moment
UX researcher
Funnel median time, not a segment dwell.
ASR when the why is qualitative.
Stop: element + before/after + one session.
Never a verdict — hand the hypothesis back.
Support lead
Case-submit surface, then the VIP property.
Last healthy session before the break.
Stop: account + clip + what broke.
Not campaign ROAS. Not a redesign brief.
Shipped fire drills
The artifact
SE / CSE
The HTML report is the session.
The harness zip is what keeps working after you leave.
That is the compounding object.
Customer
Whatever they asked for.
The harness shapes the lens.
It does not prescribe the output.
Live
Industry already locked. Persona picked at startup.
Gate matches a trigger in plain language. No acronyms.
Priors and stops swap. Same MCP. Different first call.
How it reaches a human
Fullstory analyst / CSE
You cut it. Industry locked. Org and semantic layer pre-wired.
One named account
Retail-only for Alo. Every persona. They open Claude and work.
Anyone on GitHub
Full library in the download. Workspace gets only their slice.
A colleague in a different persona does not get a re-cut from the first user’s machine. They get the repo URL.
We ship a library. They work from a slice.
The ask
Bless 4.1.0 internal distribution, plus a pointer on get-started and the developer intro.
One co-creation customer if you want decision logs later. Not a silent opt-in for the field.
Not a rewrite this quarter. If adoption grows, the derivation engine is the piece product would own.