Media Context Mcp

io.github.vishalguptax由 GitHub 账号 vishalguptax 发布v0.1.4更新于 Oct 24, 2026

Local MCP server to analyze video, audio & images: frames, transcripts, on-screen text.

已验证STDIO仅桌面文件与存储媒体与设计

概览

AI 生成的概览

本地 MCP 服务器,把视频、音频和图片(文件或链接)转成模型可读的上下文:抽帧、转录文本和画面文字。

可以做什么
  • 分析本地路径或 http(s) 链接的视频、音频和图片,自动识别类型
  • 按联系表、单张静帧、场景切换帧或密集胶片条方式抽取视频帧,支持裁剪、时间窗口和帧数上限
  • 对音频或视频进行语音转录,可选择 Whisper 模型大小
  • 用 OCR 提取画面文字,可设置语言和页面分割方式
  • 跟踪画面中的数字并报告带时间戳的回跳异常
  • 检查本机已安装并可用的辅助依赖
适用场景
适合让助手总结屏幕录制、读出视频或截图中显示的错误、讲解界面操作流程、转录会议或语音备忘,或从 YouTube、Vimeo 等链接获取内容而无需上传媒体文件。
运行要求
以本地进程方式通过 npx 启动,需要 Node.js 18+,支持 Windows、macOS 或 Linux。需运行一次安装命令来安装本地辅助工具(抽帧、链接抓取、OCR;语音转录为可选项)。未声明任何 API 密钥或环境变量。
安装前请注意
安装命令会通过操作系统包管理器安装辅助软件,请留意其安装内容,并可用卸载选项移除。来自链接的媒体会下载到本机,受时长和文件大小上限约束。分析在本机进行,README 称不会上传,但生成的帧和转录文本会交给助手所用模型。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Media Context Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[media-context-mcp — local media analysis for AI assistants]

[npm version] [npm downloads] [license] [node]

Give your AI assistant eyes and ears.
Analyze any video, audio, or image — locally, right inside your editor.

Install  ·  Capabilities  ·  Modes  ·  Examples  ·  Tools  ·  Options  ·  Docs


LLMs read text and glance at a single image — but they can't watch a video or listen to audio. media-context-mcp closes that gap. Hand it a file or a link and it returns clean, model-ready context — keyframes, a transcript, or the text on screen — entirely on your machine. Nothing is uploaded.

[A 10-second clip turned into one contact sheet of keyframes]

A 10-second clip becomes one tidy contact sheet your model reads in order — not hundreds of stills.


🚀 Install

Two steps — add the server, then install the local helpers it uses.

1 · Add the server to your client

bash
# Claude Codeclaude mcp add media-context -- npx -y media-context-mcp

The launch command is always npx -y media-context-mcp. Pick your client:

Claude Desktop

Settings → Developer → Edit Config (claude_desktop_config.json):

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
VS Code (GitHub Copilot, agent mode)

.vscode/mcp.json — VS Code uses the servers key:

json
{  "servers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Windsurf

~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Cline / Roo Code

cline_mcp_settings.json (the extension's MCP settings):

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Kiro

.kiro/settings/mcp.json (project) or ~/.kiro/settings/mcp.json (user):

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Gemini CLI

~/.gemini/settings.json:

json
{  "mcpServers": {    "media-context": { "command": "npx", "args": ["-y", "media-context-mcp"] }  }}
Zed

settings.json — Zed uses context_servers:

json
{  "context_servers": {    "media-context": { "command": { "path": "npx", "args": ["-y", "media-context-mcp"] } }  }}
Codex CLI

~/.codex/config.toml:

toml
[mcp_servers.media-context]command = "npx"args = ["-y", "media-context-mcp"]
JetBrains AI Assistant

Settings → Tools → AI Assistant → Model Context Protocol → Add, then use command npx with args -y media-context-mcp.

Tip: in Claude Code you can install it as a plugin instead — run /plugin marketplace add vishalguptax/media-context-mcp, then /plugin install media-context. To share with a team, install per-project: --scope project (writes .mcp.json) or commit a .cursor/mcp.json in the repo.

2 · Install the local helpers

One command sets up everything the server uses, via your OS package manager:

bash
npx media-context-mcp setup          # core: keyframes, links, on-screen textnpx media-context-mcp setup --audio  # also enable transcription

The server finds the helpers automatically afterward — no extra configuration. Run check_media_deps to see what's ready, and setup --uninstall to remove them. (Install by hand →)

3 · Ask

“Summarize demo.mp4.”

✨ Capabilities

VideoKeyframe overview, full-size stills, scene detection, or a dense filmstrip that catches split-second glitches
AudioSpeech turned into text — clips, voice notes, meetings, podcasts
ImagesThe picture, plus the exact text shown on screen
AnywhereLocal files or links — YouTube, Vimeo, and 1000+ sites
PrivateRuns on your machine. No API keys, no uploads
EfficientA long clip becomes a couple of images, not hundreds

🎞️ Modes

analyze_media auto-detects audio and images. For video, choose how frames are sampled:

ModeBest for
sheet (default)A cheap overview — frames tiled into one or two contact sheets
framesDetail on specific moments — individual full-size stills
scenesSlide decks & static screencasts — only scene-change frames
filmstripCatching a sub-second UI glitch — a dense, near-native-rate strip

💬 Examples

Just ask in plain language — the assistant picks the right options.

You askWhat you get
“Summarize demo.mp4.”A quick overview from sampled keyframes
“What error does bug.mp4 show at the end?”The exact on-screen text, read back
“Walk me through the UI flow in onboarding.mov.”Step-by-step from scene-change frames
“Transcribe standup.m4a and list action items.”A local transcript
“Summarize https://youtu.be/… with the transcript.”Fetched and transcribed
“Read the error in this screenshot crash.png.”The picture plus its exact text
“Find where the slider in ui.mp4 flickers ~0:06.”The exact frame of a sub-second glitch

🧰 Tools

ToolWhat it does
analyze_mediaTurn a video, audio, or image — file or URL — into model-readable context. Auto-detects the type and supports cropping, time windows, language, and sampling rate.
check_media_depsReport which capabilities are ready on this machine.

Every call runs locally and cleans up after itself.

⚙️ Options

Your assistant fills these in for you, but you can steer it (“use filmstrip mode”, “crop to the toolbar”).

Full analyze_media parameters
ParamDefaultDescription
source—Local file path (video/audio/image) or http(s) URL
context—A note framing the analysis; echoed atop the summary
detail—high = readable stills for screen recordings; low = cheap overview
modesheetsheet · frames · scenes · filmstrip
formatwebpwebp (smallest) · jpeg · png (crisp text)
maxFrames30Upper bound on sampled frames
grid5Tiles per row/column for contact-sheet modes
scale320Per-frame width in px — lower = fewer tokens
sceneThreshold0.4Scene-change sensitivity (scenes mode)
fpsautoExplicit sampling rate; pair high with filmstrip
crop—{x,y,width,height} (pixels, or 0–1 fractions) to zoom a region
stripRows18Tiles per image in filmstrip mode
startSec / endSec—Restrict to a time window
transcriptfalseAlso produce a transcript (video)
whisperModelsmalltiny · base · small · medium · large
ocrfalseExtract on-screen text
ocrLangengLanguage code(s), e.g. eng+deu
ocrPsm3Page-segmentation: 3 auto · 6 block · 11 sparse
detectJumpsfalseTrack an on-screen number and report jump-back glitches with timestamps
maxDurationSec3600Reject URL downloads longer than this
maxFileSizeMb500Abort a URL download past this size

Worked recipes for each are in the usage guide.

❓ FAQ

Can an LLM watch a video? Not directly — models take images and text, not video. This server turns the video into frames and a transcript it can read.

Does anything get uploaded? No. Everything runs on your machine; no keys, no cloud.

Which clients work? Any MCP client — Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Cline, Kiro, Gemini CLI, JetBrains, Zed, Codex.

Does it handle YouTube and other links? Yes.

How much does it cost? It's free and open source.

📋 Requirements

Node.js 18+, on Windows, macOS, or Linux. The one-time npx media-context-mcp setup installs everything else.

🛠️ Development

bash
npm installnpm run buildnpm test

Issues and PRs welcome — see the usage guide for the architecture.

📄 License

Apache-2.0 © Vishal Gupta

来源:README.md,提交 2cc68be

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.4最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分