关于 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 助手拥有眼睛和耳朵。
分析任意视频、音频或图像——完全在本地,直接在编辑器中完成。
安装 · 功能 · 模式 · 示例 · 工具 · 选项 · 文档
大模型可以读取文本、浏览单张图像,却无法观看视频或收听音频。media-context-mcp 填补了这一空白。提供文件或链接,它就会返回简洁、适合模型使用的上下文——关键帧、转录文本或屏幕上的文字——整个过程都在你的设备上完成。不会上传任何内容。
10 秒的视频片段会变成一张整洁的联系表,模型可按顺序读取——而不是数百张静帧。
🚀 安装
只需两步——添加服务,然后安装它所用的本地辅助工具。
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,Agent 模式)
.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 · 安装本地辅助工具
运行一条命令,通过操作系统的软件包管理器安装服务器使用的所有组件:
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 (默认) | 快速概览——将帧平铺成一到两张缩略图拼图 |
frames | 查看特定时刻的细节——单张全尺寸静帧 |
scenes | 幻灯片和静态录屏——仅采集场景切换帧 |
filmstrip | 捕捉不足一秒的 UI 故障——密集、接近原生帧率的胶片条 |
💬 示例
用自然语言提问即可——助手会选择合适的选项。
| 你可以这样问 | 你会得到 |
|---|---|
“总结一下 demo.mp4。” | 基于采样关键帧的快速概览 |
“bug.mp4 结尾处显示了什么错误?” | 读取并返回屏幕上的确切文本 |
“逐步讲解 onboarding.mov 中的 UI 流程。” | 根据场景切换帧逐步讲解 |
“转录 standup.m4a 并列出待办事项。” | 本地转录文本 |
“用转录文本总结 https://youtu.be/…。” | 获取并转录内容 |
“读出这张截图 crash.png 中的错误。” | 图片内容及其确切文本 |
“找出 ui.mp4 中滑块在约 0:06 闪烁的位置。” | 不足一秒故障对应的确切帧 |
🧰 工具
| 工具 | 功能 |
|---|---|
analyze_media | 将视频、音频或图像(文件或 URL)转换为模型可读的上下文。自动检测类型,并支持裁剪、时间窗口、语言和采样率。 |
check_media_deps | 报告这台机器上哪些功能已就绪。 |
每次调用都在本地运行,并在结束后清理。
⚙️ 选项
助手会为你填写这些选项,但你也可以对它进行引导(“使用胶片条模式”“裁剪到工具栏”)。
完整的 analyze_media 参数
| 参数 | 默认值 | 描述 |
|---|---|---|
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 — 数值越低,消耗的 token 越少 |
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 下载文件超过此大小则中止 |
每个参数的使用示例见**使用指南**。
❓ 常见问题
大模型能观看视频吗? 不能直接观看 — 模型处理的是图像和文本,而不是视频。此服务会将视频转换为模型可读取的帧和转录文本。
会上传任何内容吗? 不会。一切都在你的计算机上运行;无需密钥,也不使用云服务。
哪些客户端可以使用? 任何 MCP 客户端均可 — Claude Code、Claude Desktop、Cursor、VS Code、Windsurf、Cline、Kiro、Gemini CLI、JetBrains、Zed、Codex。
可以处理 YouTube 和其他链接吗? 可以。
费用是多少? 免费且开源。
📋 要求
Node.js 18+,支持 Windows、macOS 或 Linux。只需运行一次 npx media-context-mcp setup,即可安装其他所有内容。
🛠️ 开发
npm install
npm run build
npm test
欢迎提交问题和 PR — 架构说明请参阅使用指南。
📄 许可证
Apache-2.0 © Vishal Gupta
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。