video-vision-mcp について
video-vision-mcpは、ローカル動画やURLをフレーム画像、文字起こし、または動画全体の分析に変換し、Claude Codeでの分析を可能にします。利用可能なキーに応じてローカル、クラウド音声認識、Geminiを選び、アップロードせずに処理することもできます。
主な機能
- 01ローカル動画またはURLの分析
- 02サンプルフレームとメタデータの抽出
- 03文字起こしや指定時刻のフレーム取得
- 04ローカル・クラウド・Geminiのバックエンド
- 05動画分析結果のキャッシュ
活用シーン
- 01説明文のない不具合録画の分析
- 02動画から会話の文字起こしを取得
- 03指定時刻の映像フレームを確認
- 04キャッシュ済みの結果を再利用
MCP 対応
動画分析、文字起こしのみの取得、指定時刻のフレーム抽出、最近の分析一覧をMCPクライアントに提供します。JiraやSlackなどの連携先には接続せず、別の連携機能で動画をダウンロードするか、直接アクセス可能なURLを渡す必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx video-vision-mcpVIDEO_MCP_ENVOptional path to a .env file with config (API keys, tuning).GEMINI_API_KEYシークレットEnables tier-3 native Gemini video analysis (default when set).OPENAI_API_KEYシークレットEnables tier-2 OpenAI Whisper transcription.GROQ_API_KEYシークレットEnables tier-2 Groq whisper-large-v3 transcription.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | any | いいえ | |
| file_path | any | いいえ | |
| force_refresh | boolean | いいえ | |
| frame_interval | any | いいえ |
詳細
video-vision-mcp
Claude Code があらゆる動画(ローカルファイルまたは URL)を一連のツールで分析できるようにする MCP サーバーです。
Claude は動画をネイティブに視聴できません(テキストと画像の最初のフレームのみ対応しています)。 このサーバーは、動画をサンプリングしたフレーム画像と音声の文字起こしに変換します。また、Gemini キーがある場合は、動画全体をGemini でネイティブに分析します。
このサーバーは単独で動作します。用意した動画(ローカルパスまたは直接 URL)を渡せば、あとはサーバーが処理します。Jira/Slack などには接続しません。動画が連携サービスの背後にある場合は、まずその連携サービスで取得し(ファイルにダウンロードするか、直接 URL を取得して)、その後 file_path または url をこのサーバーに渡してください。
シナリオ:Jira のバグチケットに画面録画だけがあり、テキストがありません。Jira MCP が添付ファイルを一時ファイルにダウンロード →
analyze_video file_path=/tmp/bug.mp4→ フレームと文字起こし(または Gemini による分析)を確認し、バグについて推論できます。
3 段階のバックエンド(自動選択)
| Tier | 必要なもの | 動作 |
|---|---|---|
| 1 — local(デフォルト) | なし | ffmpeg のフレームと whisper.cpp の文字起こしを使用します。無料で、完全にローカルで動作し、常に利用できます。 |
| 2 — cloud ASR | OPENAI_API_KEY または GROQ_API_KEY | フレームはローカルで処理し、文字起こしには OpenAI Whisper/Groq を使用して品質を高めます。 |
| 3 — native Gemini | GEMINI_API_KEY | Gemini が 1 回の呼び出しで動画全体(映像と音声)を取り込み、MM:SS 形式のタイムスタンプを付けて分析します。キーが設定されている場合のデフォルトです。 |
優先順位:Gemini > OpenAI > Groq > local. Gemini キーがあってもティア 1/2 を強制するには、VIDEO_MCP_DISABLE_GEMINI=true を設定してください。使用したバックエンドはすべての結果に表示されます。
プライバシー: ティア 1 では一切アップロードされません。ティア 2/3 では、動画コンテンツが初めてサードパーティに送信されたときに、そのセッション中に一度だけ通知が表示されます。
ツール
analyze_video— フレーム、文字起こし、メタデータを取得します(メインツール)。frame_intervalでフレーム間の秒数を指定します(デフォルトは 1.0。0.5/0.25/0.1 はより高密度、2/5 はより低密度になります)。get_video_transcript_only— 文字起こしテキストのみを取得します。extract_frames_at— 指定したタイムスタンプ("00:42"、"1:05"、12.5)のフレームを取得します。list_recent_analyses— キャッシュされた分析結果と使用したバックエンドを一覧表示します。
インストール
Python ≥ 3.10 が必要です。1 回のインストールですべてが揃います。バックエンドに加え、ffmpeg と whisper.cpp の依存関係も含まれます。お使いのマシンにグローバルインストールされることはありません(brew/apt/winget も sudo も不要です)。
使用方法(推奨)
uv を使う場合、明示的にインストールする必要はありません。uvx が公開パッケージを必要に応じて実行します(Claude Code への登録を参照)。環境にインストールする場合:
uv pip install video-vision-mcp # or: pip install video-vision-mcp
ソースからインストール(開発用)
git clone https://github.com/KitDevUA/video-vision-mcp.git
cd video-vision-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]" # all backends bundled
依存関係 — すべて自己完結
- ffmpeg / ffprobe:すでに
PATH上にある場合は、それらのシステムバイナリを使用します。ない場合は、同梱のstatic-ffmpegパッケージから取得します(パッケージ独自のローカルキャッシュに一度だけ取得され、システム全体にはインストールされません)。 - whisper.cpp(ティア 1 の文字起こし):同梱の
pywhispercppバインディングとして提供されます(ビルド済み wheel を使用し、お使いのプラットフォーム/Python 用の wheel がない場合に限りソースからビルドします)。PATH上にwhisper-cliがあれば、それを使用します。 - whisper モデル:ggml モデル(デフォルトは
base)は、初回の文字起こし時に Hugging Face からキャッシュへダウンロードされます。VIDEO_MCP_WHISPER_MODEL(tiny/base/small/medium/large-v3)またはVIDEO_MCP_WHISPER_MODEL_PATHで変更できます。 - クラウドのみ:
OPENAI_API_KEY/GROQ_API_KEY(ティア 2)またはGEMINI_API_KEY(ティア 3)を設定します。この場合、whisper.cpp は呼び出されません。
設定
cp env.example .env
# edit .env — nothing is required for tier 1
すべての変数については env.example を参照してください。すべて任意です(API キーと調整用の設定です)。Tier 1 では何も必要ありません。
Claude Code に登録する
プロジェクトの .mcp.json(またはグローバル設定)に追加してください。.mcp.json.example を参照してください。
{
"mcpServers": {
"video-vision": {
"command": "uvx",
"args": ["video-vision-mcp"],
"env": { "VIDEO_MCP_ENV": "/abs/path/to/.env" }
}
}
}
uvx が公開済みパッケージを自動でダウンロードして実行するため、手動でインストールする必要はありません。VIDEO_MCP_ENV は任意です(Tier 1 ではキーは不要です)。クラウドバックエンドを使用する場合は、.env のパスを指定してください。チェックアウトに対してローカル開発する場合は、代わりに "args": ["--from", "/abs/path/to/video-vision-mcp", "video-vision-mcp"] を使用してください。Claude Code を再起動すると、video-vision ツールが表示されます。
キャッシュ
結果は ~/.cache/video-vision-mcp/ に (ファイルのハッシュ、バックエンド、フレーム間隔) をキーとしてキャッシュされます。同じ動画を再分析するときは即座に結果が返され、バックエンドや間隔を切り替えても、それぞれの結果が個別に保持されます。ダウンロードした URL と whisper モデルも同じディレクトリに保存されます。VIDEO_MCP_CACHE_DIR で保存先を変更できます。
VIDEO_MCP_CACHE_TTL_HOURS(既定値は 24)より古い分析結果とダウンロード済み動画は、起動時に削除され、読み込み時にもスキップされます。永久に保持するには 0 を設定してください。whisper モデルは再ダウンロードにコストがかかるため、削除されません。
Jira、Slack などのインテグレーションと連携する
このサーバーは意図的に単独で動作する設計であり、Jira、Slack、その他のサービスと通信することはありません。動画がインテグレーションの背後にある場合は、そのインテグレーションの MCP に動画を取得させてから、結果をここに渡してください。
- インテグレーションの MCP が添付ファイルをローカルファイルにダウンロードします(または、一般公開されている直接アクセス可能な URL を渡します。認証が必要な API URL は
urlでは使用できません)。 analyze_video file_path=<downloaded file>(またはurl=<direct link>)を呼び出します。
これにより、認証とサービス固有のロジックを適切な場所に置き、1 つの動画ツールですべてのソースに対応できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。