
mediasense
io.github.joaoestella由 GitHub 账号 joaoestella 发布v0.5.1更新于 Nov 7, 2026
Let Claude listen to audio and watch video: transcribe, summarize and edit recordings and links.
概览
本地 MCP 服务器,让助手转写、总结、检索和剪辑音频与视频文件或链接,并提取关键帧和字幕。
- 可以做什么
- 一次调用即可下载链接并获取转写文本、关键帧、镜头列表和帖子元数据
- 转写语音并给出逐词时间戳,读取某个时间段,或检索某句话出现的所有位置
- 规划并渲染剪辑,删除语气词、静音、语句或区间,并以混音、压低或替换方式插入音频片段
- 导出 SRT、VTT、TXT、CSV 或 JSON 字幕,查看单帧、联系表图片和媒体信息
- 在后台查询耗时任务的结果,并使用现成提示词生成摘要、讲解、清理和字幕
- 适用场景
- 适合让助手处理语音消息、播客、会议录音、录屏或社交平台视频链接:做总结、定位某句话或某个画面出现的位置、清理音频,或生成字幕。
- 运行要求
- 通过 stdio 在本机运行,通常用 uvx 或 pipx 安装;需要 Python 3.12 和 FFmpeg。首次转写会下载约 500 MB 的语音模型。可选安装 NVIDIA CUDA 库以加速;对于需要登录的链接,可用 MEDIASENSE_COOKIES_FROM_BROWSER 读取浏览器 Cookie。
安装
在 SourceWeft 中
- 打开 控制台中的 mediasense,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mediasense
[PyPI] [Python] [CI] [License: MIT]
Give Claude ears and eyes. Claude can't listen to audio or watch videos on its own; with mediasense it can. Point at a voice message, podcast, recording or meeting, or paste a TikTok, YouTube or Instagram link, in Claude Code or Claude Desktop and ask in plain language. Claude can then transcribe it, summarize it, explain what happens, find the moment something is said, or edit it.
[mediasense in Claude: a TikTok link is downloaded, transcribed and summarized with timestamps]
Real output for a 17-second TikTok by @elim.doc, shown with the creator's permission. Regenerate the
animation with python docs/make_demo.py.
mediasense runs on your computer: it downloads the link, transcribes speech in ~99 languages with a timestamp for every word, picks key frames at scene changes, and hands Claude a transcript, a shot list and contact-sheet images. Nothing is uploaded anywhere.
Setup
Windows – paste in PowerShell:
macOS / Linux – paste in a terminal:
Then quit Claude Desktop completely (tray/menu-bar icon → Quit), open it again and ask "summarize this video: ". The first transcription downloads the speech model (≈ 500 MB).
Prefer to read the script before running it?
(macOS/Linux: curl -LsSfO …/install.sh, read it, then sh install.sh.)
The installer only installs what is missing — Python 3.12 and FFmpeg via winget (Homebrew/apt on
macOS/Linux) and pipx via pip — then pipx installs mediasense from this repository and runs
mediasense setup. It stops at the first failed step.
Manual setup (no script)
Use python -m pipx … rather than plain pipx right after installing it: the pipx command only
appears on PATH in a new terminal. No Git needed.
As a Claude plugin (skill + server in one)
The repository is also a Claude plugin: installing it adds both the mediasense tools and the skill that
tells Claude when to use them. It starts the server with uv, so install uv
first (winget install astral-sh.uv · brew install uv · curl -LsSf https://astral.sh/uv/install.sh | sh)
plus FFmpeg if you don't have it.
In Claude Code:
Any other MCP client (Cursor, VS Code, Windsurf…)
mediasense is a standard stdio MCP server, also listed in the
official MCP Registry as io.github.joaoestella/mediasense:
Or with a normal install: pipx install mediasense, then use mediasense mcp as the command.
One-click Claude Desktop extension (experimental)
Download mediasense.mcpb and double-click it (or drag it into Claude Desktop → Settings → Extensions). No Python, pipx or FFmpeg needed: Claude Desktop sets up Python by itself, and FFmpeg is downloaded on first use. The first start takes a few minutes while it installs everything. This uses Claude Desktop's new "UV" extension type, so if it doesn't work on your version, use the installer above.
What mediasense setup changes
- Claude Desktop: adds one entry,
mcpServers.mediasense, toclaude_desktop_config.json(%APPDATA%\Claude\– or%LOCALAPPDATA%\Claude-Data\claude_…\for the Microsoft Store app –~/Library/Application Support/Claude/on macOS,~/.config/Claude/on Linux; Claude Desktop → Settings → Developer → Edit Config opens the one your app uses). Everything else in the file is kept, and the previous file is saved next to it asclaude_desktop_config.json.<date>.bak. If the file isn't valid JSON, setup stops without touching it. - Claude Code (if installed): runs
claude mcp add --scope user mediasense -- <path>\mediasense mcp. - Nothing else.
mediasense setup -nshows the exact changes without making them;--desktopor--codelimits it to one app. To undo: remove themediasenseentry from the config file and runclaude mcp remove mediasense --scope user.
Updating on Windows and pipx says a file "is being used by another process"? Claude Desktop is still
running the old server: Get-Process mediasense | Stop-Process -Force, then install again (the
installer script does this for you).
Something not working? mediasense doctor checks FFmpeg, the speech model, the GPU, link downloads and
the Claude connection.
Teach Claude when to use it (recommended)
mediasense comes with a skill: a short guide that makes Claude reach for mediasense whenever you paste a video link, instead of trying to open the page (TikTok & co. block that).
- Claude Code: installed automatically by
mediasense setup. - Claude Desktop / claude.ai: download
mediasense-skill.zip
(the installer also saves it to
Downloads/mediasense/), then in Claude open Settings → Skills and upload it. One time only; it syncs to all your devices.
Note: Claude Desktop sends files you attach in the chat to the model, not to your computer, so give mediasense a link or a file path instead (in Claude Code you can drag the file into the terminal).
Slash commands
The server adds ready-made prompts. In Claude Code they appear as /mcp__mediasense__summarize and so on.
Tools Claude gets
Long work never hits Claude's tool time limit: if a video takes more than ~30 s (a long video on a
CPU, or the very first run while the speech model downloads), the tool answers "still working" with a
progress percentage and Claude checks back with check_job until it's done.
All tools accept a file path or a link. Links are downloaded once to ~/Downloads/mediasense
(change with MEDIASENSE_HOME) and reused.
Command line
Everything also works without Claude:
Edits never touch the original: results are written as <name>.edited.* / <name>.placed.*.
EDL opens in Premiere, Resolve and Avid; FCPXML in Final Cut Pro and Resolve.
Good to know
-
Names and jargon. Whisper may write "Cloud Fair" for Cloudflare. Pass
--vocab(Claude does this automatically when it can infer the names from the title or the screen). -
Fillers. Whisper tends to leave hesitations out; transcribe with
--verbatimwhen you want to cut them. Real words are protected per language ("um" is an article in Portuguese, so it is never cut there). Ambiguous words like "like", "tipo" or "né" are only removed if you list them. -
Speed. Everything works on a plain CPU: short clips take seconds, a few minutes of audio takes about as long as the audio with the default
smallmodel (baseis faster,mediummore accurate). No GPU?--backend openaisends the audio to an OpenAI-compatible transcription API instead (fast on any machine, but the audio leaves your computer). -
NVIDIA GPU (optional, much faster). mediasense uses it automatically once the CUDA libraries are present; no CUDA toolkit needed:
(≈ 1.5 GB; needs a driver that supports CUDA 12 –
mediasense doctorchecks both). Restart Claude Desktop afterwards. -
Word timing is approximate (0.1–0.2 s). For tighter cuts and speaker labels use
--backend whisperx(pip install "mediasense[whisperx]"). -
Downloading from links follows each site's terms. Use it for content you're allowed to download.
Privacy Policy
mediasense runs entirely on your computer: no accounts, no analytics, no telemetry, and the author
receives no data. It connects to the internet only to download the links you ask about, the speech
model (first run), FFmpeg if it's missing, and – only if you choose the openai backend – to send audio
to the transcription API you configure. Results stay on your disk until you delete them. When used from
Claude, tool results (transcripts, key frames, metadata) are returned to the Claude app and handled
under Anthropic's privacy policy. Full policy: PRIVACY.md.
Development
The tests build synthetic audio/video with FFmpeg and use fake model and downloader libraries, so they
run in seconds with nothing to download. Ideas welcome: more filler words for your language, a
one-click Claude Desktop extension (.mcpb), and a GUI.
Releasing
- Bump
versioninpyproject.toml,src/mediasense/__init__.py,server.json(both places) and.claude-plugin/plugin.json, and the pinnedmediasense==X.Y.Zin.mcp.json, commit. The workflow refuses a tag that doesn't match them. git tag vX.Y.Z && git push origin vX.Y.Z. The Release workflow publishes to PyPI, updates the entry in the MCP Registry and creates a GitHub release with the wheel,mediasense-skill.zipandmediasense.mcpb.
One-time PyPI setup (trusted publishing, no token): on pypi.org → Your account → Publishing → Add a
new pending publisher: project mediasense, owner joaoestella, repository mediasense, workflow
release.yml, environment left empty.
License
MIT
来源:README.md,提交 f7e4586
工具
0版本历史
1- v0.5.1最新Nov 7, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
