Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者提供的说明(英文原文)
Let an AI watch a video: timestamped transcript, scene-selected keyframes and exact frames. Local.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"watch-video": {
"command": "uvx",
"args": [
"watch-video-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add watch-video -- uvx watch-video-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"watch-video": {
"command": "uvx",
"args": [
"watch-video-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"watch-video": {
"type": "stdio",
"command": "uvx",
"args": [
"watch-video-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 marwanm7moud 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于8天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Let Claude (or any MCP client) watch a video. Give it a local file or a URL (YouTube and 1,500+ other sites via yt-dlp) and it gets a timestamped transcript plus a handful of scene-selected keyframes, then drills into exact frames only when needed. No cloud transcription, no API keys.
> Watch https://www.youtube.com/watch?v=jNQXAC9IVRw and tell me what he says about the elephants.
$ video-cli overview https://www.youtube.com/watch?v=jNQXAC9IVRw --max-frames 8
duration: 00:19 transcript: platform-subs:en, language=en, 6 segments, took 0.4s keyframes: 3 scene-selected at 00:00, 00:05, 00:11 total time: 6.7s
[00:01] All right, so here we are, in front of the elephants [00:05] the cool thing about these guys is that they have really... really really long trunks and that's cool [00:16] and that's pretty much all there is to say IMAGE: ~/.cache/video_mcp/Youtube_jNQXAC9IVRw/sheets_8/sheet_01.jpg
Claude: He stands in front of the elephants (00:01) and says the cool thing about them is their really long trunks (00:05). That is the whole video (00:16).
| watch-video | Cloud video APIs (e.g. Gemini) | Transcript-only tools | |
|---|---|---|---|
| Sees the screen (code, slides, charts, UI) | Yes: keyframes, hi-res frames, OCR | Yes | No |
| Runs locally, nothing uploaded | Yes | No: the video goes to the provider | Varies |
| API key or account | None | Required, billed per use | Varies |
| Videos without captions | Local Parakeet / Whisper | Yes | Often fails |
| Token cost of the visual pass | ~20 frames per contact sheet (cost of ~1.5 images) | Billed by video length | None (no visuals) |
| Private recordings (meetings, bug repros) | Safe: never leave the machine | Uploaded | Varies |
It ships as two parts:
| Step | What happens |
|---|---|
| Transcript | Platform subtitles if the video has them (seconds), else Parakeet TDT 0.6B v3 (int8, CPU, 25 European languages), else faster-whisper large-v3-turbo (other languages, GPU or language="auto"). |
| Keyframes | Decodes *only* keyframes at thumbnail size, drops repeats and static slides, then fills the largest time gaps. The selection adapts to how much the video changes (screencast vs. action). |
| Contact sheets | Labelled frames tiled into grids: about 20 frames for the token cost of 1.5 full frames. Black bars are cropped automatically. |
| Drill-down | get_frames seeks to exact timestamps at 1280 px (readable code and charts). For URLs it seeks into the stream without downloading the whole video. |
Everything is cached under ~/.cache/video_mcp, so repeat calls are instant.
Measured on a mid-range CPU (i5-11400, no GPU): 35.7-minute local video overview in about 2.6 minutes; YouTube video with subtitles in about 7 seconds; a drill-down frame in about 0.5 seconds.
Requirements: Python 3.10+ and ffmpeg (including ffprobe) on your PATH.
Installs the MCP server and the skill together. Needs uv for uvx.
/plugin marketplace add marwanm7moud/watch-video
/plugin install watch-video@watch-video
pipx install watch-video-mcp # or: uv tool install watch-video-mcp / pip install watch-video-mcp
pipx install "watch-video-mcp[whisper,ocr]"
pip install git+https://github.com/marwanm7moud/watch-video
No install needed to try the CLI: uvx --from watch-video-mcp video-cli hw.
Install ffmpeg with winget install Gyan.FFmpeg (Windows), brew install ffmpeg (macOS) or sudo apt install ffmpeg (Linux). The first transcription downloads the Parakeet model (about 650 MB).
Claude Code:
claude mcp add video --scope user -- video-mcp
Claude Desktop (claude_desktop_config.json) or any other MCP client:
{ "mcpServers": { "video": { "command": "video-mcp" } } }
If video-mcp is not on your PATH, use the full path to the executable or python -m video_mcp.server.
The skill works with or without the MCP server: it falls back to video-cli and installs it on first use. Copy the skill folder so your agent knows when and how to use the tools:
# macOS / Linux
mkdir -p ~/.claude/skills && cp -r skills/watch-video ~/.claude/skills/
Copy-Item -Recurse skills\watch-video $HOME\.claude\skills\
Then ask Claude: *"Watch https://youtu.be/... and summarize it"*, or *"At what point do they explain the stop-loss, and what does the chart show then?"*
| Tool | Use |
|---|---|
video_overview(source, max_frames=40, ocr=False) | Start here: metadata, chapters, full transcript, contact sheets. ocr=True adds on-screen text. |
get_frames(source, timestamps, hi_res=True) | Exact frames ("12:30", "1:02:05" or seconds), up to 20. |
scan_range(source, start, end, count=12) | Evenly spaced frames in one sheet, to follow motion or a demo. |
find_cuts(source, start, end, threshold=0.2) | Hard cuts (shot or screen changes) and cuts per minute, for pacing. |
get_transcript(source, start, end) | Transcript slice. |
search_transcript(source, query) | Timestamped hits for any of the words, exact phrase first; plus on-screen text after an ocr=True overview. |
check_hardware() | Detected tools, GPU and the transcription profile in use. |
The same operations work without MCP:
video-cli overview video.mp4 --max-frames 16
video-cli overview demo.mp4 --ocr # also read code/slides on screen video-cli frames https://youtu.be/... 12:30 13:05 video-cli range video.mp4 10:00 10:30 --count 12 video-cli cuts ad.mp4 # hard cuts + cuts per minute video-cli search video.mp4 "stop loss" video-cli hw
| Variable | Default | Effect |
|---|---|---|
VIDEO_MCP_CACHE | ~/.cache/video_mcp | Cache directory (delete it to reclaim space). |
VIDEO_MCP_LANG | en | Default transcription language; auto detects it with Whisper. |
VIDEO_MCP_THREADS | 4 (CPU) | Threads for CPU transcription. |
VIDEO_MCP_AVX512 | unset | Set to 1 to let Whisper use AVX-512 (faster, but a very heavy sustained load). |
On CPU the server runs below normal priority, one heavy job at a time, with Whisper held to AVX2, so a long transcription does not freeze your desktop.
language. Parakeet covers 25 European languages on CPU (language="de", "fr", "es", ...). Other languages (Arabic, Chinese, Japanese, Hindi, ...) need Whisper, which is slow on CPU.pip install -e ".[dev]"
ruff check . pytest
MIT. See LICENSE.