popcorn
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@popcornAnalyze /Users/me/video.mp4 for transcript and key scenes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quick Start
# Install FFmpeg (required)
brew install ffmpeg # macOS
sudo apt install ffmpeg # Ubuntu/Debian
# Install Popcorn
git clone https://github.com/anthropics/popcorn.git
cd popcorn && npm install && npm run build
# Optional: Install a transcription backend
pip install mlx-whisper # Apple Silicon (fastest)
pip install openai-whisper # Any platformAdd to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"popcorn": {
"command": "node",
"args": ["/path/to/popcorn/dist/index.js"]
}
}
}Key Features:
Scene Detection — Captures frames at visual transitions, not fixed intervals
Local Transcription — 4 backend options (mlx-whisper, faster-whisper, whisper-cpp, whisper)
Inline Images — Returns key frames directly in MCP responses
Smart Presets — Auto-configures for screencasts, presentations, movies, interviews
Zero Config — Just pass a video path and it works
Privacy First — Everything runs locally, no data leaves your machine
Related MCP server: yt
Documentation
Getting Started
Quick Start — Installation & setup
Tutorial — Step-by-step usage guide
MCP Tools — Available tools reference
Guides
Transcription Backends — Choose the best backend for your system
Video Types & Objectives — Presets for different content
Configuration — Advanced parameters
Reference
Troubleshooting — Common issues & solutions
Agent Skill — Instructions for AI agents
API Reference — Tool schemas & responses
How It Works
Core Components:
FFprobe — Extracts video metadata (duration, resolution, codecs)
FFmpeg Scene Detection — Finds visual transitions using
select='gt(scene,N)'filterParallel Frame Extraction — Captures JPEGs at scene change timestamps
Multi-Backend Transcription — Whisper variants convert audio to timestamped text
Analysis Bundle — Results saved to
.popcorn/directoryMCP Response — Returns metadata + inline base64 images
Video File ──▶ FFprobe ──▶ FFmpeg ──▶ Whisper ──▶ Analysis Bundle
│ │ │ │
▼ ▼ ▼ ▼
metadata frames transcript MCP ResponseMCP Tools
Tool | Description |
| Main analysis — extracts frames, transcribes audio, returns results |
| Probe video metadata and get recommended settings |
| List available video types and objectives |
| Detect your system and show transcription options |
| Read transcript slices with time filtering |
Basic Usage
{
"tool": "popcorn_analyze",
"arguments": {
"path": "/path/to/video.mp4"
}
}With Presets
{
"tool": "popcorn_analyze",
"arguments": {
"path": "/path/to/video.mp4",
"videoType": "screencast",
"objective": "detailed"
}
}Video Types
Type | Best For | Scene Detection |
| Tutorials, coding sessions, UI demos | Low threshold |
| Slides, lectures, keynotes | Slide transitions |
| Films, TV shows | Balanced |
| Podcasts, talking heads | Transcription priority |
| Security footage, dashcam | High threshold |
| Live events, fast action | High frame rate |
Objectives
Objective | Use When |
| Quick overview needed |
| Don't miss anything |
| Searching for specific content |
| Audio/speech is most important |
| Only care about visuals |
| Fast preview needed |
Transcription Backends
Popcorn auto-detects your system and recommends the best backend.
Backend Comparison
Backend | Speed | Best For | Install |
mlx-whisper | Fastest | Apple Silicon (M1/M2/M3/M4) |
|
faster-whisper | Fast | NVIDIA GPUs |
|
whisper-cpp | Moderate | Cross-platform |
|
whisper | Slow | Most compatible |
|
Processing Times (60-min video)
Backend | Time |
mlx-whisper | 3-8 min |
faster-whisper | 5-10 min |
whisper-cpp | 10-20 min |
whisper | 30-60 min |
Force a Backend
{
"tool": "popcorn_analyze",
"arguments": {
"path": "/path/to/video.mp4",
"backend": "mlx-whisper"
}
}Configuration
All Parameters
Parameter | Type | Description |
| string | Required. Absolute path to video file |
| string | Video type preset |
| string | Analysis objective preset |
| boolean | Enable/disable transcription |
| string | Transcription backend |
| string | Whisper model ( |
| string | Language code (e.g., |
| string |
|
| number | Scene sensitivity (0-1) |
| number | Maximum frames to extract |
| number | Frames to return as base64 |
Output Structure
.popcorn/<video>_<timestamp>/
├── analysis.json # Full metadata
├── transcript.txt # Plain text
├── transcript.json # Timestamped segments
├── transcript.chunks.json # LLM-friendly chunks
└── assets/
├── audio.wav
└── frames/
├── scene_000001.jpg
└── ...Troubleshooting
FFmpeg not found
brew install ffmpeg # macOS
sudo apt install ffmpeg # Ubuntu/DebianNo transcription backend
pip install mlx-whisper # Apple Silicon
pip install openai-whisper # Any platformToo few frames detected
{ "sceneThreshold": 0.15, "minSceneInterval": 2 }Too many frames detected
{ "sceneThreshold": 0.5, "minSceneInterval": 10 }See Troubleshooting Guide for more solutions.
Development
npm install # Install dependencies
npm run build # Build
npm run dev # Development mode
npm start # Run serverProject Structure
popcorn/
├── src/
│ ├── index.ts # MCP server
│ ├── analyze.ts # Analysis pipeline
│ ├── ffmpeg.ts # Video processing
│ ├── transcribe.ts # Multi-backend transcription
│ ├── presets.ts # Video type presets
│ └── commands.ts # Shell execution
├── docs/ # Documentation
└── skills/ # Agent skillsContributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing)Commit changes (
git commit -m 'Add amazing feature')Push to branch (
git push origin feature/amazing)Open a Pull Request
License
MIT License — see LICENSE for details.
Acknowledgments
OpenAI Whisper — Speech recognition
whisper.cpp — C++ port
MLX Whisper — Apple Silicon
faster-whisper — CTranslate2
FFmpeg — Video processing
Model Context Protocol — MCP spec
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/haithamelmengad/popcorn'
If you have feedback or need assistance with the MCP directory API, please join our Discord server