
Video Vision Mcp
io.github.KitDevUA由 GitHub 帳號 KitDevUA 發布v0.5.1更新於 Oct 24, 2026
Analyze any video (local file or URL) into frames + transcript for Claude Code
概覽
一個本機 MCP 伺服器,把影片檔案或直連網址轉成取樣畫面和逐字稿,或交給 Gemini 原生分析,讓助理能理解影片內容。
- 可以做什麼
- 分析本機路徑或直連網址的影片,輸出取樣畫面、逐字稿和中繼資料,可設定取樣間隔,也可指定時間點取幀。只取得逐字稿文字。列出已快取的分析結果及所用後端。可在三種後端間選擇:完全本機的 ffmpeg 加 whisper.cpp、經 OpenAI 或 Groq 的雲端轉錄、或由 Gemini 一次分析整段影片。
- 適用情境
- 當助理需要理解它本身無法觀看的影片內容時適用,例如缺陷單中的螢幕錄影或連結片段,並希望取得畫面加逐字稿,或一次 Gemini 分析結果。
- 執行需求
- 以 Python 套件形式在本機執行(需 Python 3.10 以上),可透過 uvx 或 pip 使用。第 1 層不需金鑰,但首次轉錄會從 Hugging Face 下載 whisper 模型。雲端層需要 GEMINI_API_KEY、OPENAI_API_KEY 或 GROQ_API_KEY,可透過 VIDEO_MCP_ENV 指向的 .env 檔載入。取得連結和模型需要網路存取。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Video Vision Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
video-vision-mcp
[CI] [PyPI] [Python] [License: MIT]
An MCP server that gives Claude Code the ability to analyze any video — a local file or a URL — through one set of tools.
Claude can't watch video natively (only text + the first frame of an image). This server converts a video into sampled frame images + an audio transcript, or — when a Gemini key is present — a native Gemini analysis of the whole video.
It is standalone: give it a ready video (a local path or a direct URL) and it
does the rest. It does not connect to Jira/Slack/etc. If a video lives behind an
integration, fetch it with that integration first (download to a file or get a
direct URL), then hand the file_path or url to this server.
Scenario: a Jira bug ticket has only a screen-recording, no text. Your Jira MCP downloads the attachment to a temp file →
analyze_video file_path=/tmp/bug.mp4→ you see the frames + transcript (or Gemini's analysis) and can reason about the bug.
Three backend tiers (auto-selected)
Precedence: Gemini > OpenAI > Groq > local. Set VIDEO_MCP_DISABLE_GEMINI=true
to force tiers 1/2 even with a Gemini key. The backend used is named in every result.
Privacy: tier 1 never uploads anything. Tiers 2/3 print a one-time notice in the session the first time video content is sent to a third party.
Tools
analyze_video— frames + transcript + metadata (the main tool).frame_intervalsets seconds between frames (default 1.0; e.g. 0.5/0.25/0.1 denser, 2/5 sparser).get_video_transcript_only— transcript text only.extract_frames_at— frames at specific timestamps ("00:42","1:05",12.5).list_recent_analyses— cached analyses + backend used.
Install
Requires Python ≥ 3.10. A single install pulls everything — backends, plus the ffmpeg and whisper.cpp dependencies. Nothing is ever installed globally on your machine (no brew/apt/winget, no sudo).
Use it (recommended)
With uv you don't install it explicitly — uvx runs
the published package on demand (see Register in Claude Code).
To install into an environment instead:
From source (development)
Dependencies — fully self-contained
- ffmpeg / ffprobe: if they are already on your
PATH, those system binaries are used. Otherwise the bundledstatic-ffmpegpackage supplies them (fetched once into its own local cache — never a system-wide install). - whisper.cpp (tier 1 transcription): shipped as the bundled
pywhispercppbinding (prebuilt wheels; builds from source only if no wheel exists for your platform/Python). Awhisper-clialready onPATHis used if present. - whisper model: the ggml model (
baseby default) downloads from Hugging Face into the cache on first transcription. Override withVIDEO_MCP_WHISPER_MODEL(tiny/base/small/medium/large-v3) orVIDEO_MCP_WHISPER_MODEL_PATH. - cloud-only: set
OPENAI_API_KEY/GROQ_API_KEY(tier 2) orGEMINI_API_KEY(tier 3); whisper.cpp is then never invoked.
Configure
See env.example for every variable — all optional (API keys and tuning). Tier 1
needs none.
Register in Claude Code
Add to your project .mcp.json (or global config) — see .mcp.json.example:
uvx downloads and runs the published package automatically — no manual install
step. VIDEO_MCP_ENV is optional (tier 1 needs no keys); point it at your .env
if you use the cloud backends. For local development against a checkout, use
"args": ["--from", "/abs/path/to/video-vision-mcp", "video-vision-mcp"] instead.
Restart Claude Code; the video-vision tools then appear.
Cache
Results are cached at ~/.cache/video-vision-mcp/ keyed by (file hash,
backend, frame interval) — re-analyzing the same video is instant, and
switching backends or intervals keeps each result separately. Downloaded URLs and
whisper models live under the same dir. Override with VIDEO_MCP_CACHE_DIR.
Cached analyses and downloaded videos older than VIDEO_MCP_CACHE_TTL_HOURS
(default 24) are pruned on startup and skipped on read; set 0 to keep them
forever. Whisper models are never pruned (expensive to re-download).
Using it with an integration (e.g. Jira, Slack)
This server is deliberately standalone — it never talks to Jira, Slack, or any other service. When a video lives behind an integration, let that integration's MCP fetch it, then pass the result here:
- The integration MCP downloads the attachment to a local file (or gives a
direct, publicly reachable URL — an authenticated API URL won't work with
url). - Call
analyze_video file_path=<downloaded file>(orurl=<direct link>).
This keeps auth and service-specific logic where it belongs, and lets one video tool serve every source.
來源:README.md,提交 128b7d7
工具
0版本歷史
1- v0.5.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分