Hindsight is not open source and has no public download. Book 30 minutes with us to get access. Recording and replay are in the open-source CLI:
cerulion bag record, bag play, and bag play --resim all --verify work without Hindsight.
What Hindsight does
Indexes a recording
Builds a read-only index of an MCAP bag, and reuses it while the bag is unchanged.
Gives a debrief
A deterministic summary of gaps, dropouts, and latency spikes, and the time the run went sideways. It runs offline.
Finds anomalies
Lists what it detected, worst first, each at the exact time it happened.
Cites every claim
Each finding points at a topic and a timestamp in the recording, so you can check it against the messages.
With your AI agent
Hindsight runs as a hosted MCP (Model Context Protocol) endpoint, so Claude Code, Codex, Cursor, Claude Desktop, or VS Code can investigate a recording for you. Your client runs the agent loop and signs in with your Cerulion account. Register it in Claude Code:/mcp inside Claude Code and sign in. Connect an MCP client has the setup for the other clients.
Give the agent the recording as a public or presigned https:// URL. Cerulion’s server downloads it and builds the index in its own cache. The endpoint gives the agent eight tools, and none of them changes your recording:
The Cerulion MCP endpoint,
https://mcp.cerulion.com/mcp/cerulion, serves the same eight tools plus the Cerulion Cloud tools. You can register both; add each as its own server.
Gotchas
- MCAP only. Hindsight reads
.mcaprecordings. Convert a ROS 1.bagor a ROS 2.db3first with themcapCLI:mcap convert recording.bag recording.mcap. - The first open of a large bag takes time. Indexing a multi-GB bag takes one to two minutes. On the hosted endpoint,
open_bagreturns at once withIndexing started forand the URL; call it again with the same URL about a minute later to get the briefing. - The hosted endpoint reads
https://URLs only. Pass the URL assourceon every call; the server does not remember it. Anhttp://URL or a local path is refused. - Keep the URL valid for the whole investigation. When the recording’s host returns an ETag, each later call checks the URL again, so a presigned URL that expires partway through can make the later calls fail. A newly signed URL for the same recording is a different URL, and the server indexes it again.
- One sign-in per endpoint. A client signed in at
/mcp/hindsightgets403at/mcp/cerulion, and the reverse. Add each endpoint as its own server. - Hindsight finds what the recording holds. It reads only the topics you recorded. Record the topics you want to investigate: see Record and replay a run.
Get access
Hindsight is available to teams by request. Bring a recording of a run that went wrong, and we’ll show you where.Request access to Hindsight
Book 30 minutes. We’ll set you up.