🔑 Authentication
Can’t connect at all
- Transport — the server speaks Streamable HTTP. A client configured for stdio or plain SSE won’t connect.
- Trailing slash — the canonical endpoint is
https://mcp.autoplay.ai/mcp, with no trailing slash. Requesting/mcp/can produce a307redirect that some streaming clients won’t follow mid-stream. - Sessions — the server is stateless, so a client that insists on an
mcp-session-idhandshake isn’t required to carry one.
🪪 Identity mismatches
This is the single most common cause of “Autoplay isn’t working”. The store is keyed byuser_id, so an agent that asks for a different value reads an empty bucket — and a busy user looks idle.
Confirm the same value appears in all three places:
Full rule and the per-agent mechanisms for passing a verified id: Identity.
📭 Empty activity
actions: [] with authentication and identity both correct means there’s genuinely nothing stored. In order of likelihood:
- The user hasn’t browsed yet. Identifying a user stores nothing on its own. With PostHog, activity is built from
$pageviewand$autocaptureevents — the user has to actually navigate or click. - Autocapture is off. If your provider’s autocapture is disabled, clicks and form submits never arrive.
- The activity expired. Live activity has a 4-hour TTL. A user who was active yesterday reads as empty — that’s by design; it’s live memory, not an archive.
- Ingestion isn’t wired up. Work back through Quickstart Steps 1–3: the snippet,
posthog.identify(...), product registration, and the ingest webhook.
Only the last 50 actions per user are kept. If you expected a step from much earlier in a long session, it may have been trimmed. Onboarding progress is not affected — it’s durable state, read through
get_onboarding_context.🧭 Onboarding state unavailable
🛠️ Failed and missing tool calls
The tool isn’t in the list
get_live_user_activity is always advertised. The other seven tools appear only once your product’s onboarding is configured with Autoplay — the server doesn’t advertise a tool it can’t serve. If your client only sees get_live_user_activity, onboarding isn’t wired up for that product yet.
The tool call comes back wrong
The agent burns turns before answering
Chainingget_live_user_activity + get_onboarding_context + list_user_tours costs several blocking reads, and some platforms (Intercom Fin among them) run at most one blocking tool per turn and silently drop the rest.
Use get_recommendation_context instead — one call returns activity, onboarding progress, the next step, and the matching tour, with a smaller payload than get_onboarding_context alone.
The agent claims a walkthrough opened when it didn’t
A tour opens only throughguide_next_step or trigger_user_tour. Describing a tour in text does nothing. Instruct your agent to claim a walkthrough is opening only after launched: true comes back.
Still stuck?
Ask in Discord with yourproduct_id, the tool you called, the user_id you sent, and the exact response.