video-watcher-mcp
Allows watching public Facebook videos by downloading them, extracting transcripts, extracting key frames, and providing tools for summarizing the video and answering questions about its content.
Allows watching public Instagram posts and reels by downloading them, extracting transcripts, extracting key frames, and providing tools for summarizing the video and answering questions about its content (e.g., identifying promoted products).
Allows watching YouTube videos by downloading them, extracting transcripts (captions or audio transcription), extracting key frames, and providing tools for analysis, including summaries, summaries of specific videos, summarizing videos and answering questions about a specific video, and answer questions about videos and summaries and transcript, requesting analysis, including transcripts, providing analysis, including a full analysis, providing a transcript, providing a video across 5 key questions about a specific question. Key frames (a specific video. Provide a specific video, giving a transcript that YouTube and answering questions about the video, such as key points and summaries.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
video-watcher MCP server
An MCP server that lets Claude Desktop "watch" videos from YouTube, Instagram, Facebook, or a direct video URL (mp4/webm/etc), and answer questions about them.
What it does
For any supported URL, the server:
Downloads the video with
yt-dlp(works for YouTube, Instagram, Facebook, and hundreds of other sites, plus falls back to a raw HTTP download for plain file URLs).Extracts a transcript — YouTube captions via
youtube-transcript-apiif available, otherwise audio transcription viafaster-whisper.Extracts 5 key frames (sampled across the video's timeline) as base64 JPEGs using OpenCV.
Results are cached in memory per URL for the life of the process, so calling multiple tools on the same video only downloads/transcribes it once.
Related MCP server: Video MCP
Tools
watch_video(url)— full analysis: title, duration, transcript, frames.summarize_video(url)— ~200-word summary + bullet list of main points.answer_about_video(url, question)— transcript + frames so Claude can answer a specific question about the video.
Setup
cd D:\Projects\video-mcp-server
pip install -r requirements.txtYou'll also need ffmpeg on your PATH (required by both yt-dlp for
muxing and faster-whisper for audio decoding). On Windows, install via
winget install ffmpeg or download from https://ffmpeg.org and add it to PATH.
Test the server standalone first:
python video_mcp_server.pyIt should sit waiting on stdio (no output = good; it logs to stderr).
Connect to Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json (create it if it doesn't
exist) and merge in:
{
"mcpServers": {
"video-watcher": {
"command": "python",
"args": ["D:\\Projects\\video-mcp-server\\video_mcp_server.py"]
}
}
}Adjust the path if you cloned this elsewhere. If python isn't on PATH inside
Claude Desktop's environment, use the full interpreter path instead, e.g.
"C:\\Users\\<you>\\AppData\\Local\\Programs\\Python\\Python311\\python.exe".
Fully quit and reopen Claude Desktop after editing the config (closing the window is not enough on Windows either — use the system tray icon to Quit).
Testing it
Try these once connected:
watch_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")summarize_video("https://www.youtube.com/shorts/<some-short-id>")answer_about_video("https://www.instagram.com/reel/<reel-id>/", "What product is being promoted?")
Ask Claude directly, e.g.: "Watch this video and summarize it: "
Notes & limitations
Instagram: public posts/reels work via
yt-dlp. Private accounts or posts requiring login will fail with a clear error — this server does not store or use Instagram credentials.instagrapiis listed as an optional dependency for future extension but is not required by the current code path.Facebook: public videos only; the same login-wall limitation applies.
Whisper fallback: the first call that needs transcription will download the
baseWhisper model (~150MB) on first use.Rate limits: platforms may throttle repeated requests; the server surfaces a clear "rate limited, try again later" error rather than hanging.
Storage: downloaded videos are written to a temp cache directory (
%TEMP%\video_mcp_cache) and are not automatically cleaned up — clear it periodically if disk space matters.
This server cannot be deployed
Maintenance
Related MCP Connectors
Any social-video URL → transcript, metadata, frames, OCR, summary, search, Q&A. MCP server + x402.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Hosted YouTube MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityCmaintenanceA comprehensive MCP server that provides Claude AI with full access to YouTube content, including searchable transcripts, metadata, comments, and playlists. It uniquely supports capturing video screenshots and extracting audio clips for analysis across both local and remote platforms.519 npm3MIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server that gives Claude Desktop full video editing capabilities via FFmpeg, Whisper, and yt-dlp.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that uses Google's Gemini API to analyze videos and convert them to text descriptions that Claude Code can understand and act upon.110 npmMIT
- AlicenseAqualityCmaintenanceAn MCP server enabling Claude Code to analyze any video (local file, URL, or Jira ticket attachment) by extracting frame images and audio transcripts, or using Gemini for native video analysis.484 PyPIMIT