Skip to main content
A Video Agent is an LLM agent that operates the Video Datalake through the MCP Server. The Datalake is its long-term video memory — the agent ingests and indexes video, then searches and reads any moment on demand, in plain natural language, with no glue code.
Your agent
Claude · Cursor · your own LLM app
MCP Server · natural language → tools
Video Datalake — memory
index · search · read any moment

Why the Datalake is the agent’s memory

The Datalake turns raw video into queryable derived content — embeddings, captions, transcripts, entities, safety events. Instead of re-watching a video every turn, the agent asks the lake in natural language and gets the exact moments back — persistent, searchable memory that survives across sessions.

What a Video Agent can do

Build & query a library

Ingest video → index → “find where the forklift enters the aisle” → read the caption and clip. upload_videowait_for_operationsearch_momentsget_moment.

Watch & alert on live

Attach a live stream and fire when something matters — a goal, a safety event. open_stream + list_events.

Investigate what happened

Combine moment search, the face library, and safety events to answer “who was in the store at 2pm and what did they do?”.

Summarize & extract

Pull titles, summaries, speakers, and transcripts from any moment for reports or downstream models. get_moment with the fields you need.

Build one

1

Connect the MCP Server

Add the MCP Server to your agent (Claude Code, Codex, Cursor, or your own client) — sign in via the browser and the Datalake tools appear.
2

Give it a goal

Prompt in natural language. The agent picks and chains tools — e.g. search_momentsget_moment, or upload_videowait_for_operationsearch_moments.
3

Let the Datalake remember

Anything you upload_video stays indexed and searchable, so later turns (and later sessions) can search_moments without re-processing.

Example

“Ingest yesterday’s store-cam footage, then tell me every time someone entered the stockroom and clip those moments.”
The agent runs: upload_videowait_for_operationsearch_moments (query: “person enters the stockroom”) → get_moment (with clip) for each hit — and returns the clips.

Bring your own framework

Not using MCP? Every capability is a plain REST call — point any agent framework at the Datalake API directly (curl / Python). The Datalake-as-memory pattern is the same: index once, search and read forever.