Connection check
verified live · 20h ago
reka-mcp
Understand your videos with Reka AI — search, ask questions, and extract insights.
Tools
17
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http, stdio
Last checked
20h ago
Tools & capabilities
17 toolsRead from the running server on 20h ago.
ask_video
read-only
endstartvideosquestion*video_idrationale
+1
Ask a question about one or more videos with visual analysis. Most effective on focused time ranges — use start/end to specify the segment to analyze. BEFORE calling this tool, re… Ask a question about one or more videos with visual analysis. Most effective on focused time ranges — use start/end to specify the segment to analyze. BEFORE calling this tool, read the reka://docs/guide resource for recommended workflows. In most cases, you should first: - search_videos to find WHEN something happens, then pass those timestamps here as start/end - segment_video to detect and locate specific objects - get_transcript to read what was said For single-video questions, pass video_id with start/end. For cross-video questions, pass videos — a list of video references with start/end each. For follow-up questions, pass conversation_id from the previous response. You can add start/end to drill into a specific moment while keeping the conversation context. Requires qa_only or full pipeline.
create_group
name*rationale
Create a new video group. Groups organize videos into collections. Returns the new group's ID and name. Create a new video group. Groups organize videos into collections. Returns the new group's ID and name.
delete_group
can modify data
group_id*rationale
Delete a video group. Videos in the group are not deleted — they are simply removed from the group. Delete a video group. Videos in the group are not deleted — they are simply removed from the group.
delete_video
can modify data
video_id*rationale
Permanently delete a video and all its indexed data (transcript, captions, embeddings, etc.). This cannot be undone. Permanently delete a video and all its indexed data (transcript, captions, embeddings, etc.). This cannot be undone.
get_captions
read-only
endstartvideo_id*rationalemax_results
Get AI-generated visual descriptions of what happens on screen. Use this to understand the visual content without watching — each caption describes a short segment with timestamps.… Get AI-generated visual descriptions of what happens on screen. Use this to understand the visual content without watching — each caption describes a short segment with timestamps. Use start/end to narrow results. Requires the captions feature (qa_only or full pipeline).
get_feature_catalog
read-only
rationale
List available video analysis features with their dependencies and descriptions. Use this to understand what features exist and what pipelines to use with index_video. List available video analysis features with their dependencies and descriptions. Use this to understand what features exist and what pipelines to use with index_video.
get_scenes
read-only
video_id*rationalemax_results
Get detected scene boundaries with start/end timestamps. Use this to understand the video's structure, then pass scene timestamps as start/end to: - ask_video for per-scene context… Get detected scene boundaries with start/end timestamps. Use this to understand the video's structure, then pass scene timestamps as start/end to: - ask_video for per-scene contextual analysis - segment_video to detect specific objects per scene (scenes typically fit in segment_video's 15s max range) Requires transcript indexed with scene detection (on by default; skipped only if index_video was called with scene_detection=False).
get_transcript
read-only
endstartformatvideo_id*max_charsrationale
+1
Get the spoken words in a video. Use this instead of ask_video when you need to read what was said — it returns the actual text, not a summary. Use start/end to narrow results for… Get the spoken words in a video. Use this instead of ask_video when you need to read what was said — it returns the actual text, not a summary. Use start/end to narrow results for long videos. Requires the transcript feature to be indexed.
get_video
read-only
video_id*rationale
Get detailed information about a video including upload status, metadata (duration, resolution, fps), and per-feature indexing status. Use this to check if upload or indexing is co… Get detailed information about a video including upload status, metadata (duration, resolution, fps), and per-feature indexing status. Use this to check if upload or indexing is complete. The 'url' field is a short-lived HTTPS presigned URL (expires within hours) — fetch immediately and do not store; call get_video again for a fresh URL when needed.
index_video
pipelinevideo_id*rationalescene_detection
Index a video for search, QA, or full analysis. Processes the video through a pipeline of AI features. Typically takes 3-7 minutes; longer for long videos or the 'full' pipeline. T… Index a video for search, QA, or full analysis. Processes the video through a pipeline of AI features. Typically takes 3-7 minutes; longer for long videos or the 'full' pipeline. Times out after 10 minutes by default. Pipelines: - search_only: transcription + captions + embeddings (enables search_videos) - qa_only: transcription + captions (enables ask_video) - full: transcription + captions + embeddings (enables all tools) Scene detection is enabled by default and produces scene boundaries for get_scenes. Pass scene_detection=False to skip it. Prerequisites: if using video_id, the video must be in 'uploaded' status. Use get_video to check status before calling this tool.
list_groups
read-only
rationale
List all video groups. Use list_videos with a group_id to see videos in a specific group. List all video groups. Use list_videos with a group_id to see videos in a specific group.
list_videos
read-only
group_idrationale
List all videos in your account, or filter to a specific group by passing group_id. Shows upload status and which features have been indexed for each video. Each video's 'url' is a… List all videos in your account, or filter to a specific group by passing group_id. Shows upload status and which features have been indexed for each video. Each video's 'url' is a short-lived HTTPS presigned URL (expires within hours) — fetch immediately and do not store; call list_videos or get_video again for a fresh URL when needed.
search_videos
read-only
query*group_idrationalevideo_idsmax_results
Find WHEN and WHERE something happens across your videos. Returns timestamped results ranked by relevance — use these timestamps as start/end in ask_video for focused analysis. Th… Find WHEN and WHERE something happens across your videos. Returns timestamped results ranked by relevance — use these timestamps as start/end in ask_video for focused analysis. This is the recommended first step for most questions. Instead of asking ask_video about the entire video, search first to narrow down the relevant moments. Each result's 'video_url' is a short-lived HTTPS presigned URL (expires within hours) — fetch immediately and do not store; call search_videos or get_video again for a fresh URL when needed. Requires search_only or full pipeline.
segment_video
read-only
endstart*prompts*video_id*rationalethreshold
Detect objects in a video segment using text prompts. Describe what to look for and get per-frame detections with bounding boxes and confidence scores. Prompt tips: - Use broad, v… Detect objects in a video segment using text prompts. Describe what to look for and get per-frame detections with bounding boxes and confidence scores. Prompt tips: - Use broad, visual categories: 'animal', 'vehicle', 'person', 'text on screen' - Specific labels ('rabbit', 'Toyota') are less reliable — the detector matches visual patterns, not semantic concepts - Best for confirming whether a category of object appears in a time window, not for precise identification How to pick a time range: - Use search_videos to find WHEN something appears, then pass those timestamps here - Use get_scenes to scan systematically — call segment_video once per scene (scenes typically fit in the 15s window) - Or pass any range you already know Maximum range is 15 seconds per call; for longer spans, make multiple calls with consecutive windows. Does NOT require any feature indexing — works on any uploaded video.
summarize_video
read-only
video_id*rationale
Start here. Get a compact overview of a video: metadata, which features are indexed, a transcript preview, and scene count. Use this to decide which tools to call next — then use s… Start here. Get a compact overview of a video: metadata, which features are indexed, a transcript preview, and scene count. Use this to decide which tools to call next — then use segment_video to detect specific objects in time ranges of interest.
update_video
nametitlegroup_idvideo_id*rationalemove_group
+1
Update a video's display name, title, description, or move it to a different group. At least one field must be provided. To remove a video from its group, pass group_id as null. Update a video's display name, title, description, or move it to a different group. At least one field must be provided. To remove a video from its group, pass group_id as null.
upload_video
namegroup_idrationalevideo_url*description