# Reka MCP server

Understand your videos with Reka AI — search, ask questions, and extract insights.

## Links
- Registry page: https://www.getdrio.com/mcp/ai-reka-mcp

## Install
- Command: `uvx reka-mcp`
- Endpoint: https://mcp.reka.ai/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: X-Reka-API-Key (required; secret)
- Package: Pypi reka-mcp v0.1.9
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.reka.ai/mcp
- Header: X-Reka-API-Key

## Tools
- upload_video - Upload a video from a URL. Returns a video_id. Local file paths are not accepted; upload files outside the MCP server and pass a reachable video_url. The upload runs asynchronously — poll get_video until status is 'uploaded', then call index_video to enable search and analysis. Endpoint: https://mcp.reka.ai/mcp
- list_videos - 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. Endpoint: https://mcp.reka.ai/mcp
- get_video - 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. Endpoint: https://mcp.reka.ai/mcp
- update_video - 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. Endpoint: https://mcp.reka.ai/mcp
- delete_video - Permanently delete a video and all its indexed data (transcript, captions, embeddings, etc.). This cannot be undone. Endpoint: https://mcp.reka.ai/mcp
- create_group - Create a new video group. Groups organize videos into collections. Returns the new group's ID and name. Endpoint: https://mcp.reka.ai/mcp
- list_groups - List all video groups. Use list_videos with a group_id to see videos in a specific group. Endpoint: https://mcp.reka.ai/mcp
- delete_group - Delete a video group. Videos in the group are not deleted — they are simply removed from the group. Endpoint: https://mcp.reka.ai/mcp
- index_video - 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. Endpoint: https://mcp.reka.ai/mcp
- search_videos - 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. Endpoint: https://mcp.reka.ai/mcp
- ask_video - 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. Endpoint: https://mcp.reka.ai/mcp
- segment_video - 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. Endpoint: https://mcp.reka.ai/mcp
- get_transcript - 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. Endpoint: https://mcp.reka.ai/mcp
- get_captions - 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). Endpoint: https://mcp.reka.ai/mcp
- get_scenes - 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). Endpoint: https://mcp.reka.ai/mcp
- get_feature_catalog - 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. Endpoint: https://mcp.reka.ai/mcp
- summarize_video - 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. Endpoint: https://mcp.reka.ai/mcp

## Resources
- reka://docs/guide - Recommended workflows for common question types. Read this before calling ask_video to choose the best tool sequence. MIME type: text/plain
- reka://features - Available video analysis features with their dependencies and descriptions. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: ai.reka
- Version: 0.1.9
- Runtime: Pypi
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 8, 2026
- Source: https://registry.modelcontextprotocol.io
