Server data from the Official MCP Registry
MCP server for video transcripts, screenshots, and OCR on YouTube and web videos.
MCP server for video transcripts, screenshots, and OCR on YouTube and web videos.
OcularAudio MCP is a video transcript and screenshot extraction tool with reasonable security practices but some concerns worth noting. The server properly uses environment variables for configuration, implements caching with expiration, and validates inputs. However, there are moderate concerns around cookie file handling (stores authentication in plaintext), minimal input validation on URLs, overly broad exception handling that could mask issues, and potential for resource exhaustion through large/long videos. Permissions are appropriate for the stated purpose (network access, file I/O, subprocess for external tools). Supply chain analysis found 13 known vulnerabilities in dependencies (0 critical, 8 high severity). Package verification found 1 issue.
4 files analyzed · 23 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-rayakaan-ocular-audio-mcp": {
"args": [
"-y",
"ocular-audio-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.

An asynchronous Model Context Protocol (MCP) server that gives AI models "eyes and ears" to process web videos. It extracts transcripts and captures screenshots from YouTube and other video platforms.
--ocr flag)list[int] type hints)--ocr flag)macOS:
brew install ffmpeg python3
# Optional (for OCR):
brew install tesseract
Windows:
choco install ffmpeg python
# Optional (for OCR):
choco install tesseract
Linux:
sudo apt update && sudo apt install ffmpeg python3 python3-pip
# Optional (for OCR):
sudo apt install tesseract-ocr
pip install -r requirements.txt
Or manually:
pip install mcp youtube-transcript-api yt-dlp opencv-python-headless faster-whisper requests pytesseract
npm install
The MCP server gives AI models direct access to video transcripts and screenshots.
Quick Install — No installation needed. Just add the config to your MCP client below.
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
claude mcp add ocular-audio-mcp -- npx ocular-audio-mcp
codex mcp add ocular-audio-mcp -- npx ocular-audio-mcp
gemini mcp add ocular-audio-mcp npx ocular-audio-mcp --scope user
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: ~/.codeium/windsurf/mcp_config.json
{
"context_servers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: ~/.config/zed/settings.json
{
"servers": {
"ocular-audio-mcp": {
"type": "stdio",
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: .vscode/mcp.json
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
Config: ~/.opencode/config.json
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "npx",
"args": ["ocular-audio-mcp"]
}
}
}
{
"mcpServers": {
"ocular-audio-mcp": {
"command": "python",
"args": ["/path/to/ocular_audio_mcp.py"]
}
}
}
npx ocular-audio "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
By default, the transcript is printed to stdout and copied to your clipboard. Paste it into Claude Web, ChatGPT, or any AI chat.
| Flag | Description |
|---|---|
-h, --help | Show help message |
-v, --version | Show version number |
--stdout | Print transcript to stdout only (no clipboard, no file) |
--no-clipboard | Skip clipboard copy |
--output <file> | Write context to a specific file path |
--json | Output raw JSON (metadata + transcript) for programmatic use |
--detail <level> | Screenshot capture mode: overview, balanced, deep, auto (default: auto) |
--ocr | Extract text from screenshots using Tesseract OCR |
--force | Bypass cache and re-process the video |
--verbose | Show detailed progress information |
--quiet | Suppress summary and status messages |
--check | Check system dependencies (Python, FFmpeg, Whisper, Tesseract) |
--list-cached | List all cached videos with titles |
--cache-info | Show cache statistics (count, size, oldest/newest) |
--clear-cache | Delete all cached transcripts and screenshots |
# Basic usage — prints to stdout + copies to clipboard
npx ocular-audio "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Stdout only — great for piping to other tools
npx ocular-audio --stdout "https://www.youtube.com/watch?v=dQw4w9WgXcQ" | head -50
# Write to a specific file
npx ocular-audio --output transcript.txt "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Raw JSON for programmatic consumption
npx ocular-audio --json "https://www.youtube.com/watch?v=dQw4w9WgXcQ" | jq .metadata.title
# Transcript only, no screenshots
npx ocular-audio --detail overview "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Maximum screenshots
npx ocular-audio --detail deep "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# No clipboard copy, just print to terminal
npx ocular-audio --no-clipboard "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Screenshots with OCR — extract visible text from frames
npx ocular-audio --ocr "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# JSON output with OCR
npx ocular-audio --json --ocr "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Force re-process (bypass cache)
npx ocular-audio --force "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Verbose mode — see all progress details
npx ocular-audio --verbose "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Quiet mode — minimal output
npx ocular-audio --quiet --stdout "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Check system capabilities
npx ocular-audio --check
# List cached videos
npx ocular-audio --list-cached
# Show cache stats
npx ocular-audio --cache-info
# Clear all cached data
npx ocular-audio --clear-cache
YouTube may block transcript access for age-restricted or private videos. To fix this, export your browser cookies:
cookies.txt~/.cache/ocular_audio_mcp/cookies.txt~/.config/ocular_audio_mcp/cookies.txt./cookies.txt (in the project directory)The server will automatically detect and use the cookies file.
get_ocular_audio_capabilitiesReturns system capabilities and dependency status. Use this to check what features are available.
Parameters: None
Returns: System info including Python version, FFmpeg, Whisper, Tesseract, OpenCV, and cookie status.
get_ocular_audio_metadataExtracts only video metadata (title, creator, duration, views, chapters) without transcript. Much faster than getting the full transcript.
Parameters:
url (string): Video URLget_ocular_audio_transcriptExtracts the complete transcript, video chapters, and metadata from a video.
Parameters:
url (string): Video URLuse_local_whisper (boolean, default: true): Enable Whisper fallback if captions unavailableget_ocular_audio_chaptersExtracts only video chapters with timestamps. Returns chapter titles with start times in [MM:SS] format.
Parameters:
url (string): Video URLget_ocular_audio_video_screenshotsCaptures screenshots at specific timestamps.
Parameters:
url (string): Video URLtimestamps_secs (array of integers): Timestamps to capture (e.g., [45, 120, 300])enable_ocr (boolean, default: false): If true, run OCR on each captured frame to extract visible textget_ocular_audio_video_contextExtracts transcript, metadata, and intelligent screenshots in one call. Automatically analyzes the transcript to find visually important moments and captures screenshots at those timestamps.
Parameters:
url (string): Video URLdetail_level (string, default: "auto"): Controls screenshot capture mode:
"auto" - Adapts to video length and content importance"overview" - Transcript and metadata only, no screenshots (fastest)"balanced" - Screenshots only at visually important moments (strong signals)"deep" - Screenshots at every visually significant moment (all signals)use_local_whisper (boolean, default: true): Enable Whisper fallback if captions unavailableenable_ocr (boolean, default: false): If true, run OCR on captured screenshots to extract visible textlist_ocular_audio_cacheLists all cached videos with their metadata (title, uploader, duration, when cached).
Parameters: None
clear_ocular_audio_cacheClears cached video data.
Parameters:
video_id (string, optional): Video ID to clear specific video. If empty, clears all cache.Processed videos are cached in ~/.cache/ocular_audio_mcp/ for 7 days. Use the CLI flags to manage the cache:
npx ocular-audio --list-cached # See what's cached
npx ocular-audio --cache-info # Storage stats
npx ocular-audio --clear-cache # Wipe everything
Or manually:
rm -rf ~/.cache/ocular_audio_mcp/*.json
Install a Whisper engine:
pip install faster-whisper
ffmpeg -versionEnsure Python is in your PATH. Try:
python --version
If not found, reinstall Python from python.org and check "Add Python to PATH" during installation.
python /path/to/ocular_audio_mcp.pypip list | grep -E "mcp|whisper|yt-dlp"MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.