Media Context Mcp について
Media Context Mcp は、動画、音声、画像、リンクをモデル向けのコンテキストに変換するローカル MCP サーバーです。フレーム抽出、文字起こし、画面上のテキスト抽出に対応し、ファイルはアップロードされません。
主な機能
- 01動画のキーフレームとシーン検出
- 02音声の文字起こし
- 03画像と画面上のテキスト解析
- 04ローカルファイルとメディアリンク
- 05選択可能なフレーム抽出モード
活用シーン
- 01抽出したフレームによる動画の要約
- 02会議やポッドキャスト音声の文字起こし
- 03スクリーンショット内のテキスト確認
- 04動画内の短い不具合の特定
MCP 対応
MCP サーバーとして、互換クライアントに `analyze_media` と `check_media_deps` を提供し、メディアをローカルで処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
AI アシスタントに目と耳を与えましょう。
動画、音声、画像をローカルで、エディター内から直接分析できます。
インストール · 機能 · モード · 使用例 · ツール · オプション · ドキュメント
LLM はテキストを読み、1 枚の画像をざっと見ることはできますが、動画を見たり音声を聞いたりすることはできません。media-context-mcp はそのギャップを埋めます。ファイルまたはリンクを渡すと、キーフレーム、文字起こし、画面上のテキストなど、モデルがそのまま使えるコンテキストを、すべてお使いのマシン上で生成します。何もアップロードされません。
10 秒のクリップは、モデルが順番に読み取れる、すっきりした 1 枚のコンタクトシートになります。静止画が何百枚にもなることはありません。
🚀 インストール
2 つの手順で完了します。サーバーを追加し、そのサーバーが使うローカルヘルパーをインストールします。
1 · クライアントにサーバーを追加する
# Claude Code
claude mcp add media-context -- npx -y media-context-mcp
起動コマンドは常に npx -y media-context-mcp です。お使いのクライアントを選んでください。
Claude Desktop
設定 → 開発者 → 設定を編集(claude_desktop_config.json):
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Cursor
~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位):
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
VS Code(GitHub Copilot、エージェントモード)
.vscode/mcp.json — VS Code では servers キーを使用します。
{
"servers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Cline / Roo Code
cline_mcp_settings.json(拡張機能の MCP 設定):
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Kiro
.kiro/settings/mcp.json(プロジェクト)または ~/.kiro/settings/mcp.json(ユーザー):
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }
}
}
Zed
settings.json — Zed では context_servers を使用します。
{
"context_servers": {
"media-context": { "command": { "path": "npx", "args": ["-y", "media-context-mcp"] } }
}
}
Codex CLI
~/.codex/config.toml:
[mcp_servers.media-context]
command = "npx"
args = ["-y", "media-context-mcp"]
JetBrains AI Assistant
設定 → ツール → AI Assistant → Model Context Protocol → 追加を選び、コマンドに npx、引数に -y media-context-mcp を指定します。
ヒント: Claude Code では、プラグインとしてインストールすることもできます。
/plugin marketplace add vishalguptax/media-context-mcpを実行し、次に/plugin install media-contextを実行します。チームで共有するには、プロジェクト単位でインストールするために--scope project(.mcp.jsonを書き込みます)を指定するか、リポジトリに.cursor/mcp.jsonをコミットします。
2 · ローカルヘルパーをインストールする
1 つのコマンドで、OS のパッケージマネージャーを使ってサーバーが利用するものをすべてセットアップできます。
npx media-context-mcp setup # core: keyframes, links, on-screen text
npx media-context-mcp setup --audio # also enable transcription
その後、サーバーがヘルパーを自動的に検出するため、追加の設定は不要です。check_media_deps を実行すると準備状況を確認でき、setup --uninstall を実行すると削除できます。(手動でインストール →)
3 · 質問する
「
demo.mp4を要約してください。」
✨ 機能
| 動画 | キーフレームの概要、フルサイズの静止画、シーン検出、または一瞬の不具合も捉える高密度のフィルムストリップ |
| 音声 | 音声をテキストに変換 — クリップ、ボイスメモ、会議、ポッドキャスト |
| 画像 | 画像と、画面に表示された正確なテキスト |
| あらゆる場所 | ローカルファイルやリンク — YouTube、Vimeo、その他 1000 以上のサイト |
| プライベート | お使いのマシン上で実行されます。API キーもアップロードも不要です |
| 効率的 | 長いクリップも、何百枚もの画像ではなく数枚の画像にまとめられます |
🎞️ モード
analyze_media は音声と画像を自動検出します。動画の場合は、フレームのサンプリング方法を選択できます。
| モード | 最適な用途 |
|---|---|
sheet (デフォルト) | 手軽な概要 — フレームを 1、2 枚のコンタクトシートにまとめます |
frames | 特定の場面の詳細 — 個別のフルサイズ静止画 |
scenes | スライド資料や動きの少ないスクリーンキャスト — シーンが切り替わるフレームのみ |
filmstrip | 1 秒未満の UI の不具合を捉える — ネイティブに近いレートの高密度なストリップ |
💬 例
自然な言葉で質問するだけで、アシスタントが適切なオプションを選びます。
| 質問 | 得られるもの |
|---|---|
「demo.mp4 を要約してください。」 | サンプリングしたキーフレームによる簡潔な概要 |
「bug.mp4 の最後に表示されるエラーは何ですか?」 | 画面上のテキストを正確に読み取った内容 |
「onboarding.mov の UI 操作の流れを順に説明してください。」 | シーン切り替えフレームに基づく手順ごとの説明 |
「standup.m4a を文字起こしして、アクションアイテムを列挙してください。」 | ローカルで作成した文字起こし |
「https://youtu.be/… を文字起こしとあわせて要約してください。」 | 取得して文字起こしした内容 |
「このスクリーンショット crash.png のエラーを読み取ってください。」 | 画像と、その中の正確なテキスト |
「ui.mp4 でスライダーがちらつく箇所(約 0:06)を見つけてください。」 | 1 秒未満の不具合が起きた正確なフレーム |
🧰 ツール
| ツール | 説明 |
|---|---|
analyze_media | 動画、音声、画像(ファイルまたは URL)をモデルが読み取れるコンテキストに変換します。種類を自動検出し、クロッピング、時間範囲、言語、サンプリングレートに対応しています。 |
check_media_deps | このマシンで利用できる機能を報告します。 |
すべての呼び出しはローカルで実行され、終了後に後片付けを行います。
⚙️ オプション
アシスタントが自動で入力しますが、「フィルムストリップモードを使って」「ツールバーに合わせてトリミングして」のように指定することもできます。
analyze_media の全パラメーター
| Param | Default | Description |
|---|---|---|
source | — | ローカルのファイルパス(動画/音声/画像)または http(s) URL |
context | — | 分析の背景となるメモ。要約の冒頭に表示されます |
detail | — | high = 画面録画でも読みやすい静止画、low = 低コストの概要 |
mode | sheet | sheet · frames · scenes · filmstrip |
format | webp | webp(最小サイズ)· jpeg · png(鮮明なテキスト) |
maxFrames | 30 | サンプリングするフレーム数の上限 |
grid | 5 | コンタクトシートモードでの行/列あたりのタイル数 |
scale | 320 | フレームごとの幅(px)。小さくするとトークン数が減ります |
sceneThreshold | 0.4 | シーン変更の検出感度(scenes モード) |
fps | auto | 明示的なサンプリングレート。filmstrip と組み合わせる場合は高めに設定します |
crop | — | ズームする領域の {x,y,width,height}(ピクセル単位、または 0–1 の比率) |
stripRows | 18 | filmstrip モードで画像ごとに表示するタイル数 |
startSec / endSec | — | 対象とする時間範囲を指定します |
transcript | false | 文字起こしも生成します(動画) |
whisperModel | small | tiny · base · small · medium · large |
ocr | false | 画面上のテキストを抽出します |
ocrLang | eng | 言語コード。例:eng+deu |
ocrPsm | 3 | ページ分割:3 自動 · 6 ブロック · 11 疎 |
detectJumps | false | 画面上の数値を追跡し、タイムスタンプ付きで巻き戻りの不具合を報告します |
maxDurationSec | 3600 | URL からのダウンロードで、この長さを超えるものを拒否します |
maxFileSizeMb | 500 | URL からのダウンロードで、このサイズを超えた時点で中止します |
各項目の実用例は**使用ガイド**にあります。
❓ FAQ
LLM は動画を視聴できますか? 直接はできません。モデルが入力として受け取れるのは画像とテキストであり、動画ではありません。このサーバーは動画を、読み取り可能なフレームと文字起こしに変換します。
何かがアップロードされますか? いいえ。すべてお使いのマシン上で実行されます。キーもクラウドも必要ありません。
どのクライアントが使えますか? あらゆる MCP クライアントに対応しています — Claude Code、Claude Desktop、Cursor、VS Code、Windsurf、Cline、Kiro、Gemini CLI、JetBrains、Zed、Codex。
YouTube などのリンクにも対応していますか? はい。
費用はいくらですか? 無料のオープンソースです。
📋 要件
Windows、macOS、Linux 上で Node.js 18 以降が必要です。初回の npx media-context-mcp setup で、その他すべてがインストールされます。
🛠️ 開発
npm install
npm run build
npm test
Issue や PR を歓迎します — アーキテクチャについては使用ガイドをご覧ください。
📄 ライセンス
Apache-2.0 © Vishal Gupta
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。