Highlight reel from a long video
upload_media- pulls the URL into the collection and returns them-video IDindex_spoken_words- transcribes and indexes everything spokencreate_highlight_clip- matches your prompt against the index and compiles the hits into one stream
create_highlight_clip matches spoken content by default, and on an unindexed video it comes back with an empty shots list. To control the cut yourself, ask for search_video to get timestamps, then generate_clip for one video or compile_clips to stitch across several.
Transcript Q&A
generate_transcriptget_transcript- plain text, or segments timestamped per word, sentence or time windowunderstand_video- runs the transcript analyzer over the videocreate_index- builds a retrieval-ready index from that analyzer’s outputask_video- answers from the index, with sources
ask_video and semantic_search read only indexes built by create_index, so a transcript on its own is not queryable. While step 3 runs, get_understanding reports the status of each analyzer.
Subtitled clip for social
reframe_video- re-crops the 2:10-2:40 segment to vertical and saves it as a new video in the same collectionindex_spoken_words- on that new video, since subtitles come from its own indexadd_subtitles- burns them in and returns a stream URLdownload_stream- renders the stream to an MP4, which needs a file name
reframe_video and add_subtitles both take a video ID rather than a stream URL, so the reframe goes first and the new video gets its own index. download_stream is the only step that accepts a stream URL.
Search across a whole library
list_collections- IDs, names and visibilitylist_videos- the videos in the collection you namedindex_spoken_words- once per videosearch_collection- matching moments grouped by video, with start/end timestamps and relevance scores
search_collection reads spoken-word and scene indexes. ask_collection answers in prose instead of returning moments, but it reads v2 indexes, so every video needs understand_video and then create_index first.
Live camera monitoring with alerts
connect_rtstream- registers the RTSP, RTMP or HLS feed and starts ingesting itindex_rtstream_scenes- describes frames on a rolling window using your promptcreate_event- the condition to watch for, written in natural languagecreate_rtstream_alert- attaches that event to the index with yourcallback_urlsearch_rtstreamorget_rtstream_scenes- search the indexed records, or read them straight through for a time range
get_rtstream_stream turns a start/end window into a playable URL.
Record and search a meeting
record_meeting- sends the bot to the Zoom, Google Meet or Microsoft Teams URLget_meeting- poll untilstatusisdoneandvideo_idappears (initializing,joined,processing,done); the speaker timeline comes back here tooindex_spoken_words- on thatvideo_idsearch_video- moments with timestamps
understand_video, create_index, ask_video.
Working with long jobs
Uploads, indexing runs and renders that outlast the request budget return{"status": "processing"} and a retry_with field naming the read tool that will show the result, such as get_meeting, get_transcript, get_transcode_status or list_videos. The job keeps running. Ask the client to check with that tool; re-issuing the write starts a second job.
Tips
- Name the collection you mean.
defaultalways exists and is where things land when you do not say. - Index before you search. An unindexed video returns nothing from
search_*andask_*, and a timeline caption on one renders with no captions and no error. - Every stream URL has a matching player URL that opens in a browser.
- ID prefixes tell you what you are holding:
m-video,a-audio,img-image,rts-real-time stream,c-collection. - Deletes are permanent.
delete_video,delete_collection,delete_indexanddelete_scene_indexhave no undo.remove_video_storagedrops the stored bytes but keeps the record, indexes and transcripts.
Next Steps
Tool Reference
Every tool, grouped by toolset, with what it does and what it needs first
Connect the MCP Server
Setup for Claude, Claude Code, Cursor, MCP Inspector and other clients
MCP Server Overview
Endpoint, auth, toolsets, and what the connector does not cover
Examples and Tutorials
Longer builds that use the same pieces outside a chat client