# Twelve Labs MCP

> Twelve Labs (Video Understanding) provides your agent with multimodal AI capabilities to index video content and extract deep semantic insights. You can query vast video libraries using natural language, locating specific objects, actions, or speakers across hours of footage without manual tagging. This MCP handles the entire process: asset upload, indexing, embedding generation, and complex search retrieval.

## Overview
- **Category:** ai-frontier
- **Price:** Free
- **Tags:** video-search, multimodal-ai, semantic-search, video-indexing, computer-vision

## Description

This MCP gives your agent the ability to 'watch' videos and understand what it sees and hears. Instead of manually reviewing massive video archives, you can now query them using plain language—asking things like, "Show me every time someone mentions Q3 revenue" or "Find all shots featuring a red car." When you connect this MCP via Vinkius, your agent gets direct access to the tools needed to index videos and run deep analyses. It handles everything from uploading assets to creating searchable indexes. Your agent can process visual and audio data simultaneously, generating structured insights about entities and moments in time. You simply tell your AI client what it needs, and this MCP does the heavy lifting of turning raw video files into actionable, machine-readable data points.

## Tools

### analyze_async
Starts a background job to break down and analyze video content into segments.

### create_multipart_upload
Starts a segmented upload session, allowing you to reliably transfer very large video files in parts.

### get_index
Retrieves the full details of a specific index using its unique ID number.

### analyze_sync
Analyzes and breaks down video content instantly, returning results immediately.

### confirm_multipart_upload
Verifies the details of a large, segmented file upload session before starting the transfer.

### create_asset
Uploads raw video content to begin the process of creating an indexed digital asset.

### update_index
Changes the descriptive name of an existing video index without affecting its underlying data.

### create_entity_collection
Sets up a group or collection designed to hold and categorize specific types of entities, like people or places.

### create_entity
Adds a single entity, such as a person's name, into an existing defined collection.

### create_index
Initializes and names a new index that will store all the video metadata for later searching.

### delete_index
Removes an entire index from the system when the associated project or data is no longer needed.

### embed_async
Generates vector embeddings for video content in the background, preparing it for semantic search.

### embed_sync
Creates vector embeddings for video content instantly, useful for small-scale testing and immediate use cases.

### get_indexed_asset
Fetches all the structured data and metadata associated with an already uploaded and indexed video file.

### index_asset
Sends a specific asset to be processed and added to a pre-existing index.

### list_indexes
Retrieves a list of all available indexes, showing their names and IDs.

### report_multipart_progress
Checks and reports the current progress status of a large, ongoing multipart upload session.

### search
Runs a natural language query against an index to find specific moments or time segments within videos.

## Prompt Examples

**Prompt:** 
```
List all my Twelve Labs video indexes.
```

**Response:** 
```
I've retrieved your indexes. You have 3 active indexes: 'Marketing-2024' (ID: idx_abc123), 'Product-Demos' (ID: idx_def456), and 'Security-Feed' (ID: idx_ghi789).
```

**Prompt:** 
```
Create a new index named 'Webinar-Archive' using the Marengo 3.0 model with visual and audio options.
```

**Response:** 
```
Index 'Webinar-Archive' has been created successfully with ID: idx_web987. It is configured with the Marengo 3.0 model for both visual and audio analysis.
```

**Prompt:** 
```
Search for 'a person presenting a slideshow' in index idx_abc123.
```

**Response:** 
```
Searching... I found 2 relevant matches in index idx_abc123. The first is at 02:15 in 'Q3-Review.mp4' and the second is at 10:45 in 'Strategy-Session.mp4'.
```

## Capabilities

### Find specific moments in videos
Search through indexed video content using natural language queries to pinpoint exact time stamps for objects or actions.

### Upload and manage entire video libraries
Handle large-scale asset uploads, confirming multipart sessions and monitoring the indexing status of videos from URLs or local files.

### Generate deep data embeddings
Create multimodal vector embeddings asynchronously or synchronously to power advanced machine learning workflows on video assets.

### Structure entity data for analysis
Define and populate collections of entities, such as people or objects, allowing your agent to track specific subjects across multiple videos.

### Run targeted video analyses
Execute deep analysis tasks on video assets to extract structured data points from both visual frames and audio tracks.

## Use Cases

### Finding evidence in old security footage
A security analyst needs to know when a specific employee entered the restricted area. Instead of watching days of footage, they ask their agent: 'Search index idx_security for any instance of Employee X near Door Y.' The MCP uses `search` and returns precise time stamps.

### Curating marketing b-roll quickly
A content creator needs quick shots of a product in use. They upload 50 videos, create an index using `create_index`, and then ask their agent to find 'close up shots of the packaging' across all assets.

### Building knowledge retrieval for legal cases
A developer needs to build a system that answers questions based on video testimony. They use `embed_async` and populate an index, allowing their agent to retrieve visual context using semantic search via the `get_indexed_asset` tool.

### Analyzing product failure points
An operations team needs to find where a machine fails. They run synchronous analysis (`analyze_sync`) on video feeds, which extracts structured data about component failure rates and automatically logs them into an entity collection.

## Benefits

- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]

## How It Works

The bottom line is that your videos transform from static files into a fully searchable, structured knowledge base accessible through simple conversation.

1. First, you create a new index using the `create_index` tool. This establishes the container where your searchable video metadata will live.
2. Next, you upload your videos, either by confirming a multipart session or calling `index_asset`. The system then processes and embeds the content, making it ready for search.
3. Finally, you query the index using natural language prompts via the `search` tool. Your agent returns specific time stamps, objects, or actions found within the indexed footage.

## Frequently Asked Questions

**How do I start using the Twelve Labs (Video Understanding) MCP?**
You subscribe to this MCP on Vinkius and provide your API key. Then, you use the `create_index` tool first to establish a searchable container for your data.

**Can I search my videos using natural language with Twelve Labs (Video Understanding) MCP?**
Yes, that's its main purpose. The `search` tool lets you type what you are looking for—like 'a person arguing about contracts'—and it returns time codes across your indexed content.

**Is Twelve Labs (Video Understanding) MCP better than just uploading videos to Google Drive?**
Absolutely. Standard storage services only hold the file; this MCP actually analyzes the contents, creating structured indexes and allowing semantic search based on objects or actions.

**What is the difference between `analyze_sync` and `analyze_async` with Twelve Labs (Video Understanding) MCP?**
`analyze_sync` gives you immediate results for small tasks, but `analyze_async` handles large videos or complex jobs in the background without timing out your agent session.

**How do I upload a massive video file to Twelve Labs (Video Understanding) MCP?**
You use the multipart tools. First, call `create_multipart_upload` to start the session, then send chunks of data and monitor progress with `report_multipart_progress`.

**How do I list all my existing video indexes?**
You can use the `list_indexes` tool. It will return a list of all indexes available in your Twelve Labs account, including their IDs and configuration.

**Can I search for a specific moment inside my videos using text?**
Yes! Use the `search` tool by providing an `index_id` and a search query. The AI will find the most relevant timestamps and video segments based on your description.

**How do I add a new video to an index for analysis?**
First, use `create_asset` with a public URL to upload the video. Then, use the `index_asset` tool with the resulting `asset_id` and your target `index_id` to start the processing.