Talk to your product data.
Ask Claude anything about your users — drop-offs, rage clicks, conversion funnels — and get answers backed by real sessions.
Install · What it does · Skills · Prerequisites · Troubleshooting
Quick Install
One command in Claude Code:
/plugin marketplace add reatlat/fullstory-claude-plugin
/plugin install fullstory-reatlat@fullstory-marketplace
Also works in Cursor (Marketplace panel, same URL) and VS Code Copilot (Chat: Install Plugin from Source).
No local server. No API keys to juggle. OAuth handles auth — you sign in once and it just works.
Claude Desktop (manual setup)
Claude Desktop doesn't support the plugin marketplace — you get the MCP tools but not the skills/agents. Add this to claude_desktop_config.json:
{
"mcpServers": {
"fullstory": {
"type": "http",
"url": "https://api.fullstory.com/mcp/fullstory"
}
}
}
Config file locations: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude Desktop after editing.
What It Does
Fullstory records every session on your site. This plugin lets Claude read that data.
Before: Export CSV → pivot table → screenshot → Slack → someone asks "but why?" → repeat.
After: Type a question. Get an answer.
| You ask | Claude does |
|---|---|
| "What's the top frustration on our product right now?" | Builds a rage-click metric across all pages, surfaces the worst offenders, pulls sessions to show you exactly what users are clicking |
| "How many users abandoned checkout last month, by device?" | Resolves or builds a funnel metric, attaches segment, computes, returns a table with percentages |
| "Show me sessions where enterprise users hit errors on settings" | Builds enterprise segment, finds error sessions, reads each transcript in isolation, synthesizes patterns |
| "Is our new onboarding flow actually reducing drop-off?" | Trend metric comparing before/after deploy date, with statistical context |
| "Find session #abc123 and tell me why the submit button didn't work" | Opens session, steps through key moments, diffs before/after the click, reports what broke |
It doesn't just answer "how many." It answers "why" — by reading the actual sessions behind the numbers.
See a real conversation → — 10 skills, one investigation, zero SQL.
Skills
Forty-four skills ship with the plugin. Claude loads the right one automatically based on what you ask.
Analytics & Measurement
| Skill | Trigger | What it does |
|---|---|---|
quick-stats | "How many users yesterday?" | One-number answers. Build → compute → present. No analysis overhead. |
general-analysis | Any quantitative question | Full workflow: classify intent, search/build, compute, validate, investigate |
comparisons | A vs B questions (auto) | Picks dimensionality vs segments correctly — prevents silent wrong results |
funnel-doctor | "Where are users dropping off?" | Funnel step analysis, drop-off quantification, session evidence for why |
weekly-digest | "What changed this week?" | Structured report: frustrations, errors, conversion, traffic — week-over-week |
page-performance | "Which page has the most errors?" | Page-level health: error rates, device breakdown, navigation patterns |
experiment-analyzer | "Did the variant win?" | A/B test analysis: impact, significance assessment, segment breakdown, side effects |
retention-analyzer | "Are users coming back?" | N-day retention, cohort stickiness, churn signals, engagement depth |
anomaly-detector | "Did anything unusual happen?" | Proactive scan: spikes, drops, pattern breaks across all key metrics |
campaign-tracker | "How did the email campaign perform?" | UTM-tagged traffic, landing page conversion, channel comparison, ROI signals |
feature-adoption | "Are users using the new feature?" | Adoption funnel: awareness → trial → adoption → retention, segment breakdown |
benchmark-analyzer | "What's our baseline conversion rate?" | Historical baselines, target setting, progress tracking, industry context |
dashboard-builder | "Set up a product health dashboard" | Curated KPI dashboards with north star metrics, auto-saved for weekly review |
predictive-alerts | "Warn me before conversion drops too low" | Trend projection, threshold breach prediction, early warning system |
persona-builder | "What types of users do we have?" | Behavioral personas from real session data, data-driven user profiles |
lifecycle-analyzer | "How many users are at risk of churning?" | New → active → at-risk → churned lifecycle mapping with transition rates |
onboarding-tutor | "I'm new — how do I use this?" | Interactive onboarding, role-specific guides, first query walkthrough |
query-translator | "How do I measure user happiness?" | Translates vague business questions into measurable Fullstory queries |
nps-proxy | "What's our user satisfaction?" | Behavioral NPS alternative — satisfaction proxy from frustration/engagement signals |
Investigation & Debugging
| Skill | Trigger | What it does |
|---|---|---|
frustration-hunter | "What's frustrating users?" | Rage clicks, dead clicks, form abandonment — ranked, with session evidence |
error-forensics | "What's breaking in production?" | JS errors, network failures, console exceptions — root cause from sessions |
session-review | Session URL or bug report | Open → view → diff → close. Visual replay without a video player |
session-search | "Find sessions for user 84721" | Search by user ID, device, browser, page, custom event |
user-journey | "Trace user@example.com's sessions" | Multi-session timeline, friction points, churn signals |
jira-bug-reporter | "File a bug for this session" | Auto-populated bug reports with session URL, errors, repro steps, severity |
customer-360 | "Show me everything about this user" | Full customer snapshot: sessions, purchases, errors, engagement trajectory |
form-analyzer | "Which form field causes drop-off?" | Field-by-field abandonment, validation errors, time-to-complete, mobile forms |
mobile-analyzer | "How's the mobile experience?" | Touch targets, viewport issues, responsive bugs, mobile vs desktop gap |
scroll-depth-analyzer | "Are users reading to the bottom?" | Content visibility, CTA placement, where users stop scrolling per page |
heatmap-generator | "What do users click on most?" | Element-level interaction density, dead click zones, rage click hotspots |
a11y-analyzer | "Can keyboard users navigate this?" | Keyboard traps, focus order, missing labels, WCAG audit from real sessions |
api-monitor | "Are API errors affecting users?" | Endpoint latency, error rates, API-driven UX failures, backend deploy impact |
session-playlist | "Bundle these sessions for the team" | Curate annotated playlists with timestamps, narratives, and key moments |
changelog-detective | "What actually changed after the deploy?" | Diff errors, frustrations, and behaviors before/after — catch undocumented changes |
Operations & Maintenance
| Skill | Trigger | What it does |
|---|---|---|
deploy-radar | "I just deployed — did anything break?" | Before/after comparison: errors, conversion, frustrations |
metric-auditor | "Clean up our metrics" (auto) | Find duplicates, stale segments, misconfigured objects |
cohort-compass | Cohort analysis (auto) | Build, track, reuse segments across analyses |
annotation-ops | "Mark the deploy on the timeline" (auto) | Create deploy markers, experiment windows, incident tags |
revenue-impact | "What does this cost us?" (auto) | Attach dollar estimates to UX issues and conversion drops |
segment-wizard | "Help me build a segment for..." | Guided interactive cohort building for non-technical users |
privacy-auditor | "Are we capturing PII?" | Audit session capture for PII leaks, verify masking and exclusion rules |
webhook-health | "Are our webhooks delivering?" | Webhook delivery monitoring, integration health, data pipeline verification |
slack-reporter | "Send this to #product-engineering" | Format findings as scannable Slack messages with evidence links and action items |
incident-responder | "We have an incident — checkout is down" | Structured response: triage, blast radius, session evidence, status updates |
Agents (isolated context workers)
| Agent | What it does |
|---|---|
session-context | Reads a single session transcript in isolation — keeps main context clean |
batch-session-reader | Reads multiple sessions in parallel — 5x faster for investigation workflows |
Prerequisites
- Fullstory account with MCP Beta access
- StoryAI features enabled — an org admin toggles this in Settings > Account Management > StoryAI Features
- Claude Code, Cursor, or VS Code Copilot
Without StoryAI enabled, the server connects but exposes zero tools. If you see "connected but no tools," that's the fix.
How It Works
You → Claude Code → Fullstory MCP Server (api.fullstory.com) → Your Fullstory Data
↑ OAuth, no local process
The plugin wires up three things:
| File | Role |
|---|---|
.mcp.json | Points Claude at https://api.fullstory.com/mcp/fullstory |
skills/*/SKILL.md | Teaches Claude how to think about Fullstory data — mental models, workflows, edge cases |
agents/*.md | Isolated context workers for heavy lifting (session transcripts) |
The MCP server exposes tools like build_metric, compute_metric, get_sessions, session_open, session_view, session_diff — you don't memorize these. You ask questions. Claude picks the tools.
OAuth Scopes
The OAuth flow requests read-only access to your Fullstory org. No write scopes — the plugin queries and analyzes, never modifies.
| Scope | What it grants |
|---|---|
sessions:read | Session transcripts, replay events, session-level search |
playback:read | Session playback (open, view, step through, diff) |
playback.spec:read | Page definitions and element specs for playback |
playback.page.definitions:read | Page-level breakdowns within sessions |
specs.mappings:read | Element-to-spec mappings for session analysis |
metrics:read | Build and compute custom metrics |
metrics.funnel:read | Funnel metrics — conversion, drop-off, step analysis |
metrics.page:read | Page-level metrics — error rates, performance |
search:read | Search sessions, events, and users by criteria |
search.metadata:read | Search metadata — available fields, operators, values |
library.objects:read | Find existing saved segments and metrics before building new ones |
All scopes are read-only. Fullstory MCP does not expose write scopes — segments and metrics created during a session return a link for manual saving in the Fullstory UI.
Troubleshooting
| Problem | Fix |
|---|---|
| "Connected but no tools" | StoryAI features are off. Admin: enable in Settings > Account Management > StoryAI Features |
| OAuth fails | Org might not be in MCP Beta. Contact Fullstory support. |
| Rate limited | 3 req/s, 20-request burst. Space out big queries or narrow time ranges. |
| Zero results that seem wrong | The general-analysis skill auto-validates — it'll broaden filters, expand time range, and cross-check before reporting zero |
Full FAQ: developer.fullstory.com/mcp/faq
Star History
If this is useful, star the repo — it helps other teams discover it.
License
MIT © Alex Zappa
Skill content adapted from fullstorydev/fullstory-skills (MIT).
📝 Blog post: how we built 44 skills · 📋 MCP registry submission guide · 💬 Example conversation
Not affiliated with Fullstory. Fullstory is a trademark of Fullstory, Inc.