Skip to directory

About MCP Video Analyzer

Local MCP that turns video URLs or files into captions or Whisper transcripts, key frames, OCR, metadata, and focused timestamped moments.

What you can use it for

  • Analyze a public YouTube video in Codex
  • Inspect an exact video moment
  • Extract on-screen text and timed speech
Connection and setup
Hosting
Local Node.js MCP server
Transport
stdio
Endpoint
Local process; no hosted endpoint documented
Authentication
No API key is required for documented local processing of public sources; individual platforms may require access credentials or cookies.

Requirements

  • Node.js 22.12 or newer.
  • yt-dlp for YouTube and other platform URLs; direct media URLs and local files use bundled FFmpeg.
  • A local Whisper backend when native captions are unavailable.

Setup steps

  1. Install yt-dlp for YouTube URL support, then configure Codex's local MCP server to run `npx mcp-video-analyzer@latest`.
  2. Call `get_metadata` first, then `analyze_video` for transcript, frames, OCR, and timeline.
  3. Use `analyze_moment` or a frame burst for uncertain cuts and on-screen changes; inspect audio separately for music and sound effects.
Tools 8+

Eight stored tool rows match the README list; repository architecture text says seven, so retain as partial until source is reconciled.

  • analyze_video

    Return metadata, timed transcript, selected frames, OCR, and timeline for one source.

    Parameters: source, detail (optional), fields (optional), maxFrames (optional), threshold (optional)
    01
  • analyze_videos

    Analyze several sources with bounded concurrency and per-item results.

    Parameters: sources, concurrency (optional), fields (optional)
    02
  • get_transcript

    Return native captions or a Whisper transcript.

    Parameters: source, model (optional), language (optional)
    03
  • get_metadata

    Return metadata, comments, chapters, and available summary without a full video download.

    Parameters: source
    04
  • get_frames

    Return scene-change or dense video frames.

    Parameters: source, dense (optional)
    05
  • analyze_moment

    Return frames, transcript, OCR, and timeline for a focused time range.

    Parameters: source, time range
    06
  • get_frame_at

    Return a frame at one timestamp.

    Parameters: source, timestamp
    07
  • get_frame_burst

    Return several frames from a narrow time window.

    Parameters: source, time range, count
    08

This server’s available tools can vary by account, permissions, or configuration. The list shown is not its full runtime catalog.

Limitations and notes
  • YouTube platform URLs need yt-dlp for frame extraction; without it the server may return transcript or metadata while warning that video frames are unavailable.
  • The standard analysis caps selected frames; a dense pass or focused moment is needed for brief transitions.
  • Speech transcription and frame OCR do not directly establish music, effects, or vocal tone.
  • README and architecture tool counts conflict.
Original sources

Documentation checked 2026-10-28T00:00:00Z. Connection has not been runtime tested.