Skip to main content
Early access · Not open source
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.
Conceptual recording timeline where one signal diverges at a highlighted moment as a robot stumbles in the background.
Hindsight answers the question you ask after a bad run: what went wrong, and when? Point it at a robot recording (an MCAP bag). It indexes the recording, finds the anomalies, and names the moment the run went sideways. Each finding cites a real topic and timestamp from the recording, so you can check it.

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.
A citation names the topic and the message’s log time in integer nanoseconds, exactly as recorded:

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:
Then run /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 .mcap recordings. Convert a ROS 1 .bag or a ROS 2 .db3 first with the mcap CLI: 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_bag returns at once with Indexing started for and 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 as source on every call; the server does not remember it. An http:// 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/hindsight gets 403 at /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.