mcpField
V
Video URL Analyzer

Video URL Analyzer

ローカル
github.com/u2n4メディア・デザイン423 週間前に更新

Video URL Analyzer について

Video URL Analyzerは、YouTube、TikTok、Instagramの動画や画像投稿を分析するMCPサーバーです。Geminiによる音声・映像分析に加え、文字起こし、場面検索、証拠抽出、チュートリアル手順の整理に対応します。

主な機能

  1. 01音声と映像の一括分析
  2. 02タイムスタンプ付き文字起こし
  3. 03動画内容への質問
  4. 04場面検索とフレーム抽出
  5. 05技術動画から手順を抽出

活用シーン

  1. 01多言語動画の文字起こし
  2. 02動画内の特定場面の特定
  3. 03チュートリアルからコマンドやコードを抽出
  4. 04後続質問向けの動画コンテキスト保存

MCP 対応

FastMCPのstdio経由で18個のツールをMCPクライアントに公開し、動画分析、ローカルコンテキスト管理、フレームやクリップの抽出を行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"u2n4-video-url-analyzer": {
"command": "uvx",
"args": [
"video-url-analyzer-mcp"
]
}
}
}
起動コマンドuvx video-url-analyzer-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivideo-url-analyzer-mcp1.5.1

ツール

17

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
urlstringはい動画の URL(YouTube、TikTok、Instagram、またはその他)。
modelstringいいえ使用する Gemini モデル。デフォルトは gemini-2.5-flash です。
promptstringいいえカスタム分析プロンプト。デフォルトは包括的な分析です。

詳細

Video Analyzer MCP サーバー

Video Analyzer MCP サーバー

AI であらゆる動画を分析 — YouTube、TikTok、Instagram
Google Gemini 3.5 Flash · FastMCP · yt-dlp を利用

Gemini 3.5 Flash Python 3.10+ MCP stdio セキュリティ強化 MIT ライセンス

機能 · アーキテクチャ · クイックスタート · 連携 · セキュリティ · العربية


機能

機能 — 分析、文字起こし、質問

v1.5.4 では 18 個の MCP ツールを提供します。

ツール機能
analyze_videoカスタムプロンプトを使って音声と映像を総合的に分析します。Gemini のマルチモーダル理解を利用します。
get_transcript話者を識別し、タイムスタンプ付きの文字起こしを抽出します。自動検出により 100 以上の言語に対応します。
ask_about_video動画の内容について自由に質問できます。
prepare_slideshow_assets並べ替え済みのスライドショー画像を MCP の画像ブロックとして返すため、Claude/クライアント AI が直接確認できます。
find_video_moments簡潔・標準・詳細の構造化出力で、条件に一致する場面を検索します。
analyze_video_segment指定した時間範囲のみを分析します。
prepare_video_context一度分析して、追加質問や根拠の検索に再利用できるローカルコンテキストを保存します。
ask_video_contextデフォルトでは保存済みコンテキストに基づいて回答します。Gemini による再分析は明示的に選択した場合にのみ行われます。
list_video_contexts保存済みのローカルコンテキストを一覧表示します。
delete_video_context保存済みのコンテキストを 1 件削除します。
get_video_frameローカルの静止画を抽出します。可能な場合は YouTube の高速処理を利用します。
get_video_clipローカルの短いクリップを抽出します。上限は 30 秒で、可能な場合は YouTube の高速処理を利用します。
get_video_evidence_asset保存済みの根拠を選び、フレームまたはクリップへの参照を返します。
list_video_sourcesローカルのソース、コンテキスト、アセットのキャッシュメタデータを確認します。
cleanup_video_cache管理対象のキャッシュファイルを、削除せずに確認するか、削除します。デフォルトは削除前の確認です。
watch_and_analyze技術動画から、チュートリアルの手順、シェルコマンド、コードスニペット、ファイルパスを抽出します。
execute_tutorial_steps抽出した手順を安全に検証・確認し、確認後にのみ実行します。
check_analysis_jobTikTok/Instagram の非同期ダウンロードについて、バックグラウンドジョブの状態を確認します。
対応プラットフォーム
プラットフォーム方法速度
YouTubeGemini で直接分析するため、分析時にダウンロードは不要です。フレーム/クリップの抽出には、利用可能な場合 yt-dlp -g のストリーム URL と ffmpeg を使い、利用できない場合は短い区間をダウンロードします。即時/ローカル抽出は高速
TikToktikwm.com API(高速)→ yt-dlp によるフォールバック。可能な場合、サポート対象外の ByteDance bvc2/bytevc2 ストリームを避ける安全な MP4 H.264/H.265 セレクターを使用します。約 8 秒
Instagramcurl_cffi によるページスクレイピング(高速)→ yt-dlp によるフォールバック約 10 秒
写真/スライドショー投稿
プラットフォーム投稿タイプ処理
TikTok写真モードのスライドショーすべての画像をダウンロードし、利用可能な場合は音楽/音声トラックを抽出して、マルチモーダルな Gemini リクエストを 1 回送信します。
Instagramカルーセル/単一写真の投稿画像スライドを順番にダウンロードし、1 つの投稿として分析します。動画が混在するスライドはメタデータを添えてスキップします。
YouTubeコミュニティの /post/ 画像添付ytInitialData をスクレイピングし、画像添付をダウンロードして、Gemini Files API を通じて分析します。

YouTube 動画は Gemini のネイティブな動画理解機能を通じて直接分析されます。ダウンロードもアップロードも不要で、最大限の速度を実現します。 YouTube の証拠アセットでは、source.mp4 が常に必要とは限りません。保存されたコンテキストには元の URL が保持されるため、フレーム/クリップツールは後からローカルストリームの高速経路を利用できます。


アーキテクチャ

アーキテクチャ図

コンポーネント役割
Gemini 3.5 Flash最新の Gemini Flash モデル。音声と映像を 1 回の処理で包括的に理解します。
FastMCP 3.xstdio トランスポート上の MCP プロトコルフレームワーク
yt-dlp + curl_cffiボット対策を回避するため、Chrome ブラウザーになりすまして動画をダウンロードします。TikTok のダウンロードでは、ローカルでデコード可能な MP4 H.264/H.265 形式を優先し、ByteDance の bvc2/bytevc2 ストリームは拒否します。
tikwm.com APIyt-dlp が WAF にブロックされた場合の TikTok 高速経路フォールバック
ffmpegローカルでのフレーム/クリップ抽出。動画全体をダウンロードせずに YouTube のストリーム URL を抽出する機能も含みます。
バックグラウンドジョブClaude Desktop のタイムアウトを防ぐため、TikTok/Instagram で非同期スレッド処理を行います。内部処理の失敗は完了ジョブではなく、失敗ジョブとして報告されます。
動作モード

これらは動作モードであり、ツール名ではありません。

モード動作
autoデフォルトの適応動作です。YouTube は直接分析し、TikTok/Instagram は高速 API/スクレイピングを試してから yt-dlp にフォールバックします。利用可能な場合は保存済みコンテキストを再利用します。
apiGemini を利用した分析または再分析です。分析ツールと、明示的に Gemini を使用する場合に使われます。
clientMCP クライアントのワークフローモードです。TikTok/Instagram の長時間分析では、ポーリング用のバックグラウンド job_id を返します。
localGemini を明示的に要求しない限り、Gemini を使わずに保存済みコンテキスト、キャッシュ、フレーム、クリップを処理します。

クイックスタート

パッケージ化されたランタイムは src/video_url_analyzer_mcp/server.py にあり、 コンソールのエントリーポイントは video_url_analyzer_mcp:main です。ワークフローに合ったインストール方法を選んでください。

オプション A — Windows 用ワンラインインストーラー(新規ユーザーに推奨)
irm https://raw.githubusercontent.com/u2n4/video-url-analyzer-mcp/main/install.ps1 | iex

インストーラーは現在の MCP クライアントの一般的な方法に従っています。PyPI から uvx でインストール/実行し、既存の GEMINI_API_KEY 環境変数が設定されている場合はそれを使用します。設定されていない場合は、非表示のプロンプトでのみキーを尋ね、サーバーの登録先を選択できます。

  • Claude Code
  • Claude Desktop
  • Codex CLI
  • Cursor
  • Windsurf
  • VS Code / GitHub Copilot
  • Google Antigravity
  • Cline

PowerShell コマンドに API キーを追加しないでください。キーを入力しなくても、インストーラーはサーバーを登録します。GEMINI_API_KEY は後から設定できます。GEMINI_API_KEY がすでにユーザー環境変数に設定されている場合、インストーラーはその値を直接使用し、AIza...abcd のようにマスクされた形式のみを表示します。

オプション B — uvx(インストール不要)
uvx video-url-analyzer-mcp

uv が PATH にあれば、Windows/macOS/Linux で動作します。

オプション C — チェックアウトから起動する Windows ウィザード
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1

ウィザードでは、次の操作を行います。

  • Python 3.10 以降と、必要に応じて uv を検証します。
  • パッケージを編集可能なチェックアウトとしてインストールするか、uv tool install でインストールします。
  • GEMINI_API_KEY をユーザー環境変数 または Git で無視される .env.keys.local に保存できます。ログではキーがマスクされ(AIza...abcd)、全文が表示されることはありません。
  • VIDEO_ANALYZER_MODEL を使ってデフォルトモデルを選択できます。
  • オフラインのインポートスモークテストを実行します。
  • クライアントのセットアップでは scripts/configure_mcp_clients.ps1 に引き継ぎます。
オプション D — 手動インストール(すべての OS)
git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
pip install -e .
python -m video_url_analyzer_mcp

Google AI Studio で無料のキーを取得し、シェル環境に一度設定します(Windows では setx GEMINI_API_KEY ...、macOS/Linux では ~/.zshrc または ~/.bashrc)。ローカル開発専用であれば、リポジトリの隣にある、Git で無視される .env.keys.local に保存することもできます。

Windows ランチャー

start.bat は .env.keys.local(存在する場合)を読み込み、安全なデフォルト値(VIDEO_ANALYZER_MODE=auto)を設定して、python -m video_url_analyzer_mcp を実行します。単一の実行ファイルを指定する MCP クライアントでは、command の値として使用してください。


統合

対話型メニューを使うには scripts/configure_mcp_clients.ps1 を実行するか、docs/mcp-config-examples.md のスニペットをコピーしてください。ウィザードは既存のクライアント設定をバックアップし、JSON/TOML を検証します。また、関係のない MCP サーバーを上書きすることはありません。

クライアント設定では、ローカル MCP サーバーのエントリ名に video-analyzer を使用します。公開パッケージ名は引き続き video-url-analyzer-mcp、レジストリ名は引き続き io.github.u2n4/video-url-analyzer-mcp です。

Claude Desktop(%APPDATA%\Claude\claude_desktop_config.json)
{
  "mcpServers": {
    "video-analyzer": {
      "command": "uvx",
      "args": ["video-url-analyzer-mcp"]
    }
  }
}

ウィザードでは、API キーを OS 環境変数に保存する方法が優先されます。キーを設定に埋め込む必要がある場合は、"env": { "GEMINI_API_KEY": "YOUR_KEY_HERE" } を追加してください。

Claude Code(CLI)
claude mcp add video-analyzer --transport stdio -- uvx video-url-analyzer-mcp

または、リポジトリ内で pip install -e . を実行した後に、次のようにします。

claude mcp add video-analyzer --transport stdio -- python -m video_url_analyzer_mcp
Codex CLI(~/.codex/config.toml)
[mcp_servers.video-analyzer]
command = "uvx"
args = ["video-url-analyzer-mcp"]
VS Code / GitHub Copilot MCP

ワークスペースの登録では .vscode/mcp.json に書き込みます。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "video-url-analyzer-gemini-api-key",
      "description": "Gemini API key for video-url-analyzer-mcp",
      "password": true
    }
  ],
  "servers": {
    "video-analyzer": {
      "type": "stdio",
      "command": "uvx",
      "args": ["video-url-analyzer-mcp"],
      "env": {
        "GEMINI_API_KEY": "${input:video-url-analyzer-gemini-api-key}"
      }
    }
  }
}

すべてのクライアントで、設定を編集した後、新しい MCP サーバーが読み込まれるようにアプリケーションを再起動してください。Cursor、Windsurf、Antigravity(%USERPROFILE%\.gemini\antigravity\mcp_config.json)、Cline を含むすべてのスニペットは、docs/mcp-config-examples.md にあります。


使用例

# Full video analysis with Gemini 3.5 Flash
analyze_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")

# Custom analysis prompt
analyze_video("https://www.tiktok.com/@user/video/123",
              prompt="List every product shown and estimate prices")

# Multilingual transcript extraction
get_transcript("https://www.instagram.com/reel/ABC123/", lang="ar")

# Ask specific questions about video content
ask_about_video("https://youtu.be/abc",
                question="What programming language is used in the tutorial?")

# Analyze once, then ask locally from the saved context
prepare_video_context("https://youtu.be/abc", detail="standard")
ask_video_context("https://youtu.be/abc",
                  question="What happens near the end?")

# Extract visual evidence without embedding binary data in the tool output
get_video_frame("https://youtu.be/abc", timestamp="00:30")
get_video_clip("https://youtu.be/abc", start="00:20", end="00:28")

# Watch & build — extract tutorial steps
watch_and_analyze("https://www.youtube.com/watch?v=tutorial123")

セキュリティ

このサーバーは、包括的な脅威モデル監査に基づいてセキュリティを強化しています。

レイヤー保護
SSRFURL 許可リスト — YouTube、TikTok、Instagram のドメインのみ許可します。プライベート IP、localhost、file:// はブロックします。
コマンドインジェクションshell=False + shlex.split()。危険なコマンドをブロックリストで制限します(rm -rf、リバースシェル、eval、パイプ経由のシェル実行)。
パストラバーサル25 種類以上の機密パスパターンをブロックします(.ssh、.aws、.env、システムディレクトリ、AppData)。
TLSすべてのダウンロードで証明書を完全に検証します。
ブラウザーの CookieVIDEO_ANALYZER_COOKIES=true による明示的な有効化が必要です。デフォルトでは無効です。
ダウンロードサイズ動画 1 本あたり 100 MB の上限を設けています。
DoS 保護バックグラウンドジョブの同時実行数は最大 10 件です。1 時間後に自動的に期限切れになります。解析データの保存数は最大 200 件です。
スキーマ検証Gemini の JSON 応答を実行前に検証します。応答サイズは 500K 文字に制限されています。
依存関係実行時の依存関係のバージョン範囲は pyproject.toml で管理されています。

環境変数

変数説明デフォルト
GEMINI_API_KEYGoogle Gemini API キー必須
ANALYSES_DIR分析結果の保存先ディレクトリ./analyses
VIDEO_CONTEXT_DIR再利用可能な動画コンテキストの保存先ディレクトリvideo_contexts
VIDEO_SOURCE_DIRダウンロードしたソースメディアのキャッシュ先ディレクトリvideo_sources
VIDEO_ASSET_DIR抽出したフレーム/クリップの保存先ディレクトリvideo_assets
VIDEO_ANALYZER_COOKIESブラウザーの Cookie へのアクセスを有効にするかどうか(true/false)false
VIDEO_DOWNLOAD_TIMEOUTダウンロードと yt-dlp のタイムアウト値を秒単位で上書きします既存の操作ごとのデフォルト値
VIDEO_FFMPEG_TIMEOUTffmpeg による抽出のタイムアウト値を秒単位で上書きします既存の操作ごとのデフォルト値
VIDEO_GEMINI_TIMEOUTGemini HTTP のタイムアウトを秒単位で指定します(省略可能)SDK のデフォルト
VIDEO_IMAGE_DOWNLOAD_CONCURRENCYTikTok/Instagram/YouTube の写真投稿における画像の並列ダウンロード数6
VIDEO_GEMINI_UPLOAD_CONCURRENCYダウンロードしたメディアとスライドショー画像の Gemini Files への並列アップロード数4
VIDEO_ANALYZER_MODEL高速モデルと詳細モデルの両方の解決に使用する、共通のデフォルトモデル ID。個別の model= と GEMINI_FAST_MODEL/GEMINI_DEEP_MODEL の指定が優先されます。未設定
GEMINI_FAST_MODELコンパクト/標準詳細モードで使用するモデルの上書き値gemini-3.5-flash
GEMINI_DEEP_MODELfull 詳細モードで使用するモデルの上書き値gemini-3.1-pro-preview

デフォルトの高速モデル:gemini-3.5-flash。デフォルトの詳細モデル (detail="full" の場合に使用):gemini-3.1-pro-preview。両方をまとめて上書きするには、 VIDEO_ANALYZER_MODEL を設定してください。モデルの利用可否は Google アカウント、地域、 API ティアによって異なる場合があります。最新の ID がまだお使いの キーで有効になっていない場合は、gemini-flash-latest を代わりに使用してください。 | VIDEO_ANALYZER_MODE | 動作プリセット(auto/api/client/local)。start.bat によって読み取られます | auto |


トラブルシューティング

問題解決方法
GEMINI_API_KEY not set.env ファイルを作成するか、環境変数として渡してください
TikTok のダウンロードに失敗するtikwm.com へのフォールバックが自動的に有効になります。curl_cffi がインストールされていることを確認してください。
TikTok の bvc2/bytevc2 コーデックv1.4 では、互換性のある MP4 H.264/H.265 形式が存在する場合、サポートされていないこれらの ByteDance ストリームを回避します。互換性のあるストリームがない場合、ツールはアップロードや成功したかのような動作をせず、構造化された unsupported_codec または no_compatible_format エラーを返します。
Instagram のダウンロードに失敗するブラウザーの偽装サポートを有効にするには pip install curl_cffi を実行してください
Windows で ENOENT が発生するClaude Desktop の設定でコマンドとして start.bat を使用してください
偽装対象が利用できない再インストールしてください:pip install "yt-dlp[curl-cffi]"
Claude Desktop のタイムアウトTikTok/Instagram はバックグラウンドで実行されます。check_analysis_job(job_id) を使用して状況を確認してください
バックグラウンドジョブが失敗を示すワーカーの結果がエラーの場合、Gemini ファイルの処理に失敗した場合、またはメディアの検証でソースが拒否された場合に発生します。check_analysis_job は、これらの内部エラーを完了として報告しなくなりました。
prepare_video_context が処理を繰り返すforce_refresh=true を指定しない限り、キャッシュ済みのコンテキストを再利用します
YouTube の source.mp4 が見つからない場合によっては想定される動作です。フレーム/クリップ用ツールは保存済みの URL から復元し、yt-dlp -g と ffmpeg による高速抽出を利用できます。
一時的な Gemini 503/5xx エラーGemini の generate_content 呼び出しは、指数バックオフを使用して最大 3 回再試行されます。4xx の認証/スキーマ/ユーザーエラーは再試行されません。

技術スタック

テクノロジーバージョン用途
Google Gemini 3.5 Flash最新マルチモーダル動画分析エンジン
FastMCP3.3.1+MCP プロトコルフレームワーク
yt-dlp2026.3.17+動画ダウンローダー
curl_cffi>=0.7.4,<0.15.0ブラウザーの偽装(TLS フィンガープリント)。yt-dlp 2026.03.17 との互換性のため、バージョンを固定しています
google-genai2.5.0+Google 公式 GenAI SDK

ライセンス

MIT


アラビア語

動画分析サーバー

AI 動画分析サーバー

Google Gemini 3.5 Flash を使用して動画を分析する MCP サーバーです。Google の最新マルチモーダル Gemini Flash モデルを使用します。

機能
ツール説明
analyze_videoカスタム指示に対応した、音声と映像の包括的な分析
get_transcriptタイムスタンプ付きで音声の文字起こしを取得します。100 以上の言語に対応しています
ask_about_video動画の内容について、あらゆる質問ができます
prepare_video_context動画を一度分析し、再利用可能なコンテキストをローカルに保存します
ask_video_contextデフォルトでは Gemini を使わず、保存したコンテキストから回答します
get_video_frame / get_video_clipローカルの証拠として画像またはクリップを抽出します。yt-dlp + ffmpeg を使った YouTube 向けの高速処理にも対応しています
watch_and_analyze技術チュートリアルから手順、コマンド、コードを抽出します
execute_tutorial_steps抽出した手順を確認し、安全に実行します
対応プラットフォーム
プラットフォーム速度
YouTube即時 — ダウンロードせずに直接分析
TikTok約 8 秒 — 高速な tikwm.com API
Instagram約 10 秒 — ページから直接抽出
クイックインストール(Windows)

リポジトリをクローンして、対話型セットアップウィザードを実行します。

git clone https://github.com/u2n4/video-url-analyzer-mcp.git
cd video-url-analyzer-mcp
powershell -ExecutionPolicy Bypass -File scripts\install_windows.ps1

インストールせずに使う場合:uvx video-url-analyzer-mcp。

セキュリティ

サーバーは次の脅威から保護されています。

  • SSRF — 許可されたドメインのみを許可するホワイトリスト
  • コマンドインジェクション — 危険なコマンドをブロックし、shell を使わずに実行
  • パストラバーサル — 25 以上の機密パスをブロック
  • 過負荷対策 — 同時タスク数を最大 10 件に制限
API キーの取得
  1. Google AI Studio にアクセスします
  2. 無料の API キーを作成します
  3. .env ファイルに設定します。
GEMINI_API_KEY=مفتاحك_هنا

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。