# vidlens-mcp

Connects AI agents to video analysis across YouTube, social platforms, and local disks. It extracts transcripts, inspects frames, and tracks precise timestamps.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 34
- Author: thatsrajan
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/thatsrajan/vidlens-mcp
- Updated: 2026-10-10
- HTML: https://affpapa.org/en/nevibecode/mcp/vidlens-mcp

## What it does

This server equips your coding agent with 47 tools to inspect YouTube uploads and local video files. It transcribes audio, extracts on-screen text with OCR, and indexes individual frames. Everything lands in a single folder on your hard drive. Because assets remain cached locally, your assistant never has to process the same clip twice.

Basic YouTube queries and transcripts work without any API keys. The server relies on fallbacks like `yt-dlp` or page scraping whenever official access fails. Every response reports its data route. However, you will need valid credentials such as `GEMINI_API_KEY` or `OPENAI_API_KEY` if you opt into the enhanced setup.

When tracking specific charts or slides, `searchVisualContent` opens extracted frames directly in your web browser. No external database or Docker is required. Managing backups is as simple as copying the folder.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `YOUTUBE_API_KEY`, `GEMINI_API_KEY`, `OPENAI_API_KEY`, `SCRAPECREATORS_API_KEY`, `BRAVE_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add vidlens-mcp -e YOUTUBE_API_KEY=<YOUTUBE_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e SCRAPECREATORS_API_KEY=<SCRAPECREATORS_API_KEY> -e BRAVE_API_KEY=<BRAVE_API_KEY> -- npx -y vidlens-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add vidlens-mcp --env YOUTUBE_API_KEY=<YOUTUBE_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env OPENAI_API_KEY=<OPENAI_API_KEY> --env SCRAPECREATORS_API_KEY=<SCRAPECREATORS_API_KEY> --env BRAVE_API_KEY=<BRAVE_API_KEY> -- npx -y vidlens-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "vidlens-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "vidlens-mcp"
            ],
            "env": {
                "YOUTUBE_API_KEY": "<YOUTUBE_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "SCRAPECREATORS_API_KEY": "<SCRAPECREATORS_API_KEY>",
                "BRAVE_API_KEY": "<BRAVE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "vidlens-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "vidlens-mcp"
            ],
            "env": {
                "YOUTUBE_API_KEY": "<YOUTUBE_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "SCRAPECREATORS_API_KEY": "<SCRAPECREATORS_API_KEY>",
                "BRAVE_API_KEY": "<BRAVE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e YOUTUBE_API_KEY=<YOUTUBE_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e SCRAPECREATORS_API_KEY=<SCRAPECREATORS_API_KEY> -e BRAVE_API_KEY=<BRAVE_API_KEY> vidlens-mcp npx -y vidlens-mcp
```
Replace <…> with your own values

## When to use it
- locate exact timestamps and frames across long video recordings
- summarize consensus and disagreements across multiple video reviews
- transcribe spoken audio without mandatory paid API subscriptions
- detect on-screen charts and slides using visual OCR search

## Example prompts
- Search YouTube for recent device reviews and compare reviewer conclusions
- Transcribe this public video clip and extract the key takeaways
- Find the frame in this video where the benchmark graph is shown

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
