{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://mcp.reka.ai/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reka-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/reka-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/reka-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 4198,
        "counts": {
          "error": 0,
          "note": 1,
          "warn": 22
        },
        "findings": [
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "ask_video",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "create_group",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "delete_group",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "delete_video",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_captions",
            "message": "none of its 5 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_feature_catalog",
            "message": "its one parameter, rationale, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_scenes",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_transcript",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "get_video",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "index_video",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "list_groups",
            "message": "its one parameter, rationale, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "list_videos",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "search_videos",
            "message": "none of its 5 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "segment_video",
            "message": "none of its 6 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "summarize_video",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "update_video",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "upload_video",
            "message": "none of its 5 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC15",
            "severity": "warn",
            "tool": "ask_video",
            "message": "inputSchema uses $ref/$defs",
            "fix": "Inline the referenced schemas. Pydantic and zod-to-json-schema emit $defs for nested models; most can be told not to."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "create_group",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "index_video",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "update_video",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "upload_video",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC29",
            "severity": "note",
            "message": "about 678 tokens (16% of the definitions) are titles that repeat property or function names",
            "fix": "Strip \"title\" keys that only restate a name before listing tools."
          }
        ]
      },
      "checkedAt": "2026-10-01T22:01:42Z",
      "count": 17,
      "schemaTokens": 4198,
      "status": "ok",
      "tools": [
        {
          "name": "upload_video",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "description": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Description"
              },
              "group_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Group Id"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Name"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_url": {
                "title": "Video Url",
                "type": "string"
              }
            },
            "required": [
              "video_url"
            ],
            "title": "upload_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "upload_videoOutput",
            "type": "object"
          }
        },
        {
          "name": "list_videos",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "group_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Group Id"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              }
            },
            "title": "list_videosArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "list_videosOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_video",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "get_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "get_videoOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "update_video",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "description": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Description"
              },
              "group_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Group Id"
              },
              "move_group": {
                "default": false,
                "title": "Move Group",
                "type": "boolean"
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Name"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Title"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "update_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "update_videoOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true
          }
        },
        {
          "name": "delete_video",
          "description": "Permanently delete a video and all its indexed data (transcript, captions, embeddings, etc.). This cannot be undone.",
          "inputSchema": {
            "properties": {
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "delete_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "delete_videoOutput",
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": true
          }
        },
        {
          "name": "create_group",
          "description": "Create a new video group. Groups organize videos into collections. Returns the new group's ID and name.",
          "inputSchema": {
            "properties": {
              "name": {
                "title": "Name",
                "type": "string"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              }
            },
            "required": [
              "name"
            ],
            "title": "create_groupArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "create_groupOutput",
            "type": "object"
          }
        },
        {
          "name": "list_groups",
          "description": "List all video groups. Use list_videos with a group_id to see videos in a specific group.",
          "inputSchema": {
            "properties": {
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              }
            },
            "title": "list_groupsArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "list_groupsOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "delete_group",
          "description": "Delete a video group. Videos in the group are not deleted — they are simply removed from the group.",
          "inputSchema": {
            "properties": {
              "group_id": {
                "title": "Group Id",
                "type": "string"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              }
            },
            "required": [
              "group_id"
            ],
            "title": "delete_groupArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "delete_groupOutput",
            "type": "object"
          },
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": true
          }
        },
        {
          "name": "index_video",
          "description": "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.\n\nPipelines:\n- search_only: transcription + captions + embeddings (enables search_videos)\n- qa_only: transcription + captions (enables ask_video)\n- full: transcription + captions + embeddings (enables all tools)\n\nScene detection is enabled by default and produces scene boundaries for get_scenes. Pass scene_detection=False to skip it.\n\nPrerequisites: if using video_id, the video must be in 'uploaded' status. Use get_video to check status before calling this tool.",
          "inputSchema": {
            "properties": {
              "pipeline": {
                "default": "search_only",
                "enum": [
                  "search_only",
                  "qa_only",
                  "full"
                ],
                "title": "Pipeline",
                "type": "string"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "scene_detection": {
                "default": true,
                "title": "Scene Detection",
                "type": "boolean"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "index_video_hostedArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "index_video_hostedOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true
          }
        },
        {
          "name": "search_videos",
          "description": "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.\n\nThis 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.\n\nEach 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.\n\nRequires search_only or full pipeline.",
          "inputSchema": {
            "properties": {
              "group_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Group Id"
              },
              "max_results": {
                "default": 10,
                "title": "Max Results",
                "type": "integer"
              },
              "query": {
                "title": "Query",
                "type": "string"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_ids": {
                "anyOf": [
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Video Ids"
              }
            },
            "required": [
              "query"
            ],
            "title": "search_videosArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "search_videosOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "ask_video",
          "description": "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.\n\nBEFORE calling this tool, read the reka://docs/guide resource for recommended workflows. In most cases, you should first:\n- search_videos to find WHEN something happens, then pass those timestamps here as start/end\n- segment_video to detect and locate specific objects\n- get_transcript to read what was said\n\nFor single-video questions, pass video_id with start/end. For cross-video questions, pass videos — a list of video references with start/end each.\n\nFor 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.\n\nRequires qa_only or full pipeline.",
          "inputSchema": {
            "$defs": {
              "VideoContext": {
                "properties": {
                  "end": {
                    "title": "End",
                    "type": "number"
                  },
                  "start": {
                    "title": "Start",
                    "type": "number"
                  },
                  "video_id": {
                    "title": "Video Id",
                    "type": "string"
                  }
                },
                "title": "VideoContext",
                "type": "object"
              }
            },
            "properties": {
              "conversation_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Conversation Id"
              },
              "end": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "End"
              },
              "question": {
                "title": "Question",
                "type": "string"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "start": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Start"
              },
              "video_id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Video Id"
              },
              "videos": {
                "anyOf": [
                  {
                    "items": {
                      "$ref": "#/$defs/VideoContext"
                    },
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Videos"
              }
            },
            "required": [
              "question"
            ],
            "title": "ask_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "ask_videoOutput",
            "type": "object"
          },
          "annotations": {
            "readOnlyHint": true
          }
        },
        {
          "name": "segment_video",
          "description": "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.\n\nPrompt tips:\n- Use broad, visual categories: 'animal', 'vehicle', 'person', 'text on screen'\n- Specific labels ('rabbit', 'Toyota') are less reliable — the detector matches visual patterns, not semantic concepts\n- Best for confirming whether a category of object appears in a time window, not for precise identification\n\nHow to pick a time range:\n- Use search_videos to find WHEN something appears, then pass those timestamps here\n- Use get_scenes to scan systematically — call segment_video once per scene (scenes typically fit in the 15s window)\n- Or pass any range you already know\n\nMaximum range is 15 seconds per call; for longer spans, make multiple calls with consecutive windows.\n\nDoes NOT require any feature indexing — works on any uploaded video.",
          "inputSchema": {
            "properties": {
              "end": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "End"
              },
              "prompts": {
                "items": {
                  "type": "string"
                },
                "title": "Prompts",
                "type": "array"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "start": {
                "title": "Start",
                "type": "number"
              },
              "threshold": {
                "default": 0.5,
                "title": "Threshold",
                "type": "number"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id",
              "prompts",
              "start"
            ],
            "title": "segment_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "segment_videoOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_transcript",
          "description": "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.\n\nUse start/end to narrow results for long videos.\n\nRequires the transcript feature to be indexed.",
          "inputSchema": {
            "properties": {
              "end": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "End"
              },
              "format": {
                "default": "text",
                "enum": [
                  "text",
                  "segments",
                  "words"
                ],
                "title": "Format",
                "type": "string"
              },
              "max_chars": {
                "default": 10000,
                "title": "Max Chars",
                "type": "integer"
              },
              "max_results": {
                "default": 100,
                "title": "Max Results",
                "type": "integer"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "start": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Start"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "get_transcriptArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "get_transcriptOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_captions",
          "description": "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.\n\nUse start/end to narrow results.\n\nRequires the captions feature (qa_only or full pipeline).",
          "inputSchema": {
            "properties": {
              "end": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "End"
              },
              "max_results": {
                "default": 50,
                "title": "Max Results",
                "type": "integer"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "start": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Start"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "get_captionsArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "get_captionsOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_scenes",
          "description": "Get detected scene boundaries with start/end timestamps. Use this to understand the video's structure, then pass scene timestamps as start/end to:\n- ask_video for per-scene contextual analysis\n- segment_video to detect specific objects per scene (scenes typically fit in segment_video's 15s max range)\n\nRequires transcript indexed with scene detection (on by default; skipped only if index_video was called with scene_detection=False).",
          "inputSchema": {
            "properties": {
              "max_results": {
                "default": 200,
                "title": "Max Results",
                "type": "integer"
              },
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "get_scenesArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "get_scenesOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "get_feature_catalog",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              }
            },
            "title": "get_feature_catalogArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "get_feature_catalogOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "summarize_video",
          "description": "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.",
          "inputSchema": {
            "properties": {
              "rationale": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "title": "Rationale"
              },
              "video_id": {
                "title": "Video Id",
                "type": "string"
              }
            },
            "required": [
              "video_id"
            ],
            "title": "summarize_videoArguments",
            "type": "object"
          },
          "outputSchema": {
            "properties": {
              "result": {
                "title": "Result",
                "type": "string"
              }
            },
            "required": [
              "result"
            ],
            "title": "summarize_videoOutput",
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "readOnlyHint": true
          }
        }
      ]
    },
    "name": "Reka",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "pypi",
        "identifier": "reka-mcp",
        "version": "0.1.10",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/reka-mcp.json",
    "popularity": {
      "pypiWeekly": 35
    },
    "registryName": "ai.reka/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://mcp.reka.ai/mcp"
      }
    ],
    "repository": "",
    "reviewed": false,
    "slug": "reka-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.reka/mcp",
    "summary": "Understand your videos with Reka AI — search, ask questions, and extract insights.",
    "updatedAt": "2026-05-14T04:55:01Z",
    "url": "https://www.anchorterminal.com/tools/reka-mcp",
    "vendor": "reka.ai",
    "vendorUrl": "https://reka.ai",
    "version": "0.1.10",
    "websiteUrl": "",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
