Session replay for humans & machines

Give your agents
eyes.

UserTapes records real user behaviour as tactical video replays for you, and structured markdown for your AI agents. Ask “Why did checkout drop?” and get instant answers linked directly to the exact second on the tape.

MCP-native · Cookieless · <15 KB tracker

REC acme.app/checkout ⎘ Share ⛶ Fullscreen
Tapes Event stream Details
Modules

Less, but better.

Six discrete functions for two target audiences. We record real user behaviour and serve it in two formats: tactile playback for humans, clean markdown for machines. No charts pretending to be insight.

[ 01 ]

Record

Every session captured frame-by-frame. Cookieless by default, inputs masked at the source, under 15 KB on the wire.

[ 02 ]

Replay

Pixel-accurate playback in a hardware-grade deck. Scrub, skip, and step through exactly what the user saw.

[ 03 ]

Index

Rage clicks, dead clicks, errors and drop-offs marked on the timeline as machine-readable events — not vibes.

[ 04 ]

Read

Sessions come with a transcript: every navigation, click and stall narrated as plain text your agents can parse.

[ 05 ]

Serve · MCP

A native MCP server exposes tapes as tools. Claude, Cursor, or your own agents query sessions like a database.

[ 06 ]

Retain

Retention windows you set per site. Tapes expire on schedule, storage stays lean, and the bill stays flat.

Agent · Tape 3E71
01 · For questions

Chat with
your tape.

Every tape comes with an agent that has already read it. Ask why the visitor left, what broke, whether they ever paid — and get an answer grounded in the recording, never a guess. Timestamps in the answer are buttons: press one and the player jumps to that exact moment.

  • GroundedAnswers cite the tape's own transcript — if it isn't recorded, it isn't claimed
  • Seek“It broke at 0:40” is a button — click it, watch it break
  • Site-wideThe site console answers across every session — “who failed checkout this week?” — with links into each tape
  • PrivateInputs are masked at record time; the agent reads what the visitor did, not what they typed
02 · For machines

Hours of tape,
read in seconds.

Connect Claude Code, Cursor, or your own tooling over MCP and the agent does the watching: every session scanned, the ones that matter surfaced — where users struggle, what broke, who almost converted — each insight linked to the exact tape. And when the cause turns out to be a bug, the same agent can go fix it.

  • ProtocolModel Context Protocol — works with Claude Code, Cursor, and any MCP client
  • Toolslist_tapes · read_transcript · create_alert — filters for rage clicks, errors, URLs, duration
  • SetupOne URL + one token in your agent's MCP config. No SDK, no glue code.
  • Standing ordersAgents set their own alerts — matching sessions webhook straight back to them
Claude Code · UserTapes MCP
$ claude "users say coupons are broken — find it and fix it" ────────────────────────────────────── ▸ usertapes list_tapes(has_errors: true) ← 14 tapes · rage clicks on "Apply coupon" ▸ usertapes read_transcript(3e7128f8) ← ## Transcript - 0:19 click button "Apply coupon" - 0:20 ⚠ POST /api/coupon · 422 - 0:23 ⚠ rage click ×4 · same button ▸ diagnosis: checkout.js swallows 422s — no error shown, button stays live ▸ editing checkout.js +14 −3 ✓ fixed — from the tape, not a guess
03 · For humans

Seeing is still
believing.

Agents read tapes; you can still watch them. Every session plays back frame-by-frame — because the fastest review of an agent's diagnosis is watching the thirty seconds where it happened, and the fastest way to trust a fix is seeing what it fixes.

  • SignalsRage clicks, dead clicks, errors, reload loops, abandoned forms — marked in red on the scrubber
  • ReadoutEvery navigation, click and stall as a timestamped stream — click a row, the tape seeks there
  • TransportSkip idle · 1× 2× 4× — a 9-minute session in ninety seconds
  • ShareView-only links that open at the exact second you're pointing at
Pricing

Every tier, cookieless.

Pricing scales with volume, nothing else. Every deck ships the same cookieless tracker, inputs masked at the source, and full MCP access — pick the one that matches how much you record, and upgrade when the counter says so.

Demo Tape
$0 /mo

Point it at a real site. No card, no expiry date.

  • 100 sessions total — no monthly reset
  • 7-day retention
  • 1 site
  • Chat with your tapes — 20 questions total
  • Event alerts — errors, URLs, rage clicks
  • MCP access
  • Shareable links
  • Community support
Start free
Indie Deck
$29 /mo

$24/mo billed annually

For solo developers running active production apps.

  • 15,000 sessions / mo
  • 30-day retention
  • 3 sites · 1 seat
  • Chat with your tapes*
  • Event alerts — errors, URLs, rage clicks
  • MCP access
  • Shareable links
  • Email support
Start recording
Studio Deck
$59 /mo

$49/mo billed annually

Engineered for product teams, integrations, and AI pipelines.

  • 50,000 sessions / mo
  • 30-day retention
  • 5 sites · 5 seats
  • Chat with your tapes*
  • Event alerts — errors, URLs, rage clicks
  • MCP access
  • Priority rate limits
  • Whitelabel shareable links
  • Slack, Linear & Jira integrations
  • Priority email support
Start recording
Broadcast Deck
$149 /mo+

High-fidelity pipeline for agencies & high-volume platforms.

  • Custom volume — 100k+ sessions / mo
  • 90-day retention
  • Unlimited sites & seats
  • Chat with your tapes*
  • Event alerts — errors, URLs, rage clicks
  • MCP access
  • Dedicated gateway — zero rate limits
  • Whitelabel shareable links
  • Dedicated Slack channel
Talk to us

* Fair use on chat: usage well outside what's typical for your plan may get a friendly note from us — never a silent cutoff.

Start now

Press and ask.

One snippet on your site, one line in your agent's MCP config. Your next question about users takes seconds — not an afternoon of tape.