β Start here β MCP is the recommended way for an agent to read live activity. If your agent canβt speak MCP, thereβs an optional REST API that returns the exact same data β but reach for MCP first. You never need both.
π Connect to the server
| Endpoint | https://mcp.autoplay.ai/mcp |
| Transport | Streamable HTTP β the transport your client must select |
| Auth | Authorization: Bearer YOUR_MCP_KEY |
YOUR_MCP_KEY is the mcp_key from your Quickstart product registration.
- Invalid or missing token β the tool call fails with βInvalid or missing API keyβ.
- Token valid but scoped to another product β it fails with βAPI key does not match product_idβ. The keyβs
external_idmust equal theproduct_idyou pass to the tool, so a key for product A canβt read product B.
π οΈ The get_live_user_activity tool
The server exposes one tool today.
Parameters
| Parameter | Type | Default | Meaning |
|---|---|---|---|
product_id | string | β | Your Autoplay product id (YOUR_PRODUCT_ID). Must match the Bearer keyβs external_id. |
user_id | string | β | The stable user identifier β the same id you pass to posthog.identify(...). See the identity note below. |
limit | integer | none | Max recent actions to return. Omitted or <= 0 falls back to the configured cap (50). |
actions ordered oldest β newest:
type, title, description, timestamp_start, timestamp_end, raw_url, canonical_url, and index. (The user_id lives on the envelope, not inside each action.)
π€ Connect any MCP client
Point any MCP client at the server with the Streamable HTTP transport and the Bearer header. Exact config keys vary by client, but the three values are always the same β URL, transport,Authorization header. A typical client config looks like:
Test it with the MCP Inspector
The quickest way to confirm the server is reachable and your token works:- Set Transport Type to Streamable HTTP.
- Set URL to
https://mcp.autoplay.ai/mcp. - Under request headers, add
Authorization=Bearer YOUR_MCP_KEY. - Click Connect. The
get_live_user_activitytool appears in the tool list. - Call it with a real
product_idand auser_idyouβve identified β you should get the activity envelope back.
π¬ Using it with Intercom Fin
Intercom Fin is one MCP client among many. To wire Fin to this server (and set up the Messenger JWT identity verification Fin needs to pass a trusteduser_id), follow the dedicated recipe:
See the Intercom Fin recipe for the full Fin setup β data connector, this MCP server, and the Messenger JWT identity step.
Identity β the user_id must match
This is the linchpin everywhere activity is read. The store keys activity by user_id, so a client only gets useful results when it asks for the same user_id that activity was stored under β the id you pass to posthog.identify(...) in your frontend.
For agents that carry their own user identity (like Fin behind Intercomβs Messenger JWT), make sure that verified identity equals the PostHog identify id. See the identity guidance in the Fin recipe and the βidentity must match across all three layersβ note in the Quickstart.
Retention β this is short-lived βliveβ memory, not an archive:
- 24-hour TTL (
ACTIVITY_TTL_S=86400) β activity older than a day expires. - 50 actions max per user (
ACTIVITY_MAX_EVENTS=50) β older ones are trimmed.