Reka
ai.reka/mcpVersion 0.1.10Understand your videos with Reka AI — search, ask questions, and extract insights.
Status
Responds140 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 13:32 UTC
- Latency
- 140 ms
- Remotes responding
- 1 of 1
- Sign-in
- API key
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://mcp.reka.ai/mcpResponds140 msNo sign-in
Claude Code
claude mcp add --transport http reka https://mcp.reka.ai/mcp --header 'X-Reka-API-Key: <YOUR_X_REKA_API_KEY>'Replace <YOUR_X_REKA_API_KEY> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: reka
Remote MCP server URL: https://mcp.reka.ai/mcp
This server expects the header X-Reka-API-Key.Cursor
{
"mcpServers": {
"reka": {
"url": "https://mcp.reka.ai/mcp",
"headers": {
"X-Reka-API-Key": "<YOUR_X_REKA_API_KEY>"
}
}
}
}Replace <YOUR_X_REKA_API_KEY> before running.
VS Code
code --add-mcp '{"name":"reka","type":"http","url":"https://mcp.reka.ai/mcp","headers":{"X-Reka-API-Key":"<YOUR_X_REKA_API_KEY>"}}'Replace <YOUR_X_REKA_API_KEY> before running.
Streamable HTTP
pypi: reka-mcp 0.1.10Package only
PyPI (uvx)
claude mcp add reka -- uvx reka-mcp==0.1.10Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
17 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
ask_videoAsk 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. | Not declared | Yes | Not declared | Not declared |
create_groupCreate a new video group. Groups organize videos into collections. Returns the new group's ID and name. | Not declared | Not declared | Not declared | Not declared |
delete_groupDelete a video group. Videos in the group are not deleted — they are simply removed from the group. | Yes | Not declared | Yes | Not declared |
delete_videoPermanently delete a video and all its indexed data (transcript, captions, embeddings, etc.). This cannot be undone. | Yes | Not declared | Yes | Not declared |
get_captionsGet 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). | Not declared | Yes | Yes | Not declared |
get_feature_catalogList available video analysis features with their dependencies and descriptions. Use this to understand what features exist and what pipelines to use with index_video. | Not declared | Yes | Yes | Not declared |
get_scenesGet 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). | Not declared | Yes | Yes | Not declared |
get_transcriptGet 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. | Not declared | Yes | Yes | Not declared |
get_videoGet 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. | Not declared | Yes | Yes | Not declared |
index_videoIndex 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. | Not declared | Not declared | Yes | Not declared |
list_groupsList all video groups. Use list_videos with a group_id to see videos in a specific group. | Not declared | Yes | Yes | Not declared |
list_videosList 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. | Not declared | Yes | Yes | Not declared |
search_videosFind 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. | Not declared | Yes | Yes | Not declared |
segment_videoDetect 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. | Not declared | Yes | Yes | Not declared |
summarize_videoStart 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. | Not declared | Yes | Yes | Not declared |
update_videoUpdate 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. | Not declared | Not declared | Yes | Not declared |
upload_videoUpload 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. | Not declared | Not declared | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- May 14, 2026
- Updated
- May 14, 2026
- Website
- Not given
- Repository
- Not given
- Categories (suggested)
- Files and storageDesign and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared