Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Narrated, captioned MP4 videos from Markdown or JSON. Local voice, CPU-only, no API key.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"makevideo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/random00000000/makevideo:0.6.0",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add makevideo -- docker run -i --rm ghcr.io/random00000000/makevideo:0.6.0 mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"makevideo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/random00000000/makevideo:0.6.0",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"makevideo": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/random00000000/makevideo:0.6.0",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 random00000000 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.6.0)于22天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Aiterm MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Fast, standard video generation for AI agents. One JSON script in, one finished MP4 out, rendered the same way every time. You write scenes, each with a line to say. makevideo voices them with one consistent neural voice, times every scene to the real audio, adds captions, and renders an MP4 with a bundled ffmpeg. It runs on the CPU only: no browser, no GPU, no API key and no cloud.
▶ [Your agent can make videos now](docs/your-agent-can-make-videos.mp4) (1:39, written, voiced and rendered by an agent from one JSON file) · ▶ [Watch the 87-second showcase](docs/showcase.mp4), rendered from examples/showcase.json on a laptop CPU, faster than it plays.
Short-form too: "format": "shorts" gives 1080×1920 with big word-by-word captions. ▶ Watch the TikTok-style demo (examples/tiktok.json): 23 s of video rendered in 15 s, plus an auto-exported GIF.
More examples, all made with makevideo: ▶ What's new in 0.6: game trailers (spec) · ▶ Neon Drift game trailer (beat sheet) · ▶ What's new in 0.5: documentaries (spec) · ▶ 59-second demo (spec) · ▶ The house voice · ▶ Distribution recap · ▶ What's new in 0.4: closer to every agent (spec) · ▶ What's new in 0.3: speed (spec) · ▶ What's new in 0.2 (made from one Markdown file) · ▶ Why use makevideo instead of building from scratch (spec) · ▶ Changelog video for v0.1 (spec): changelog and recap videos are a core use case.
What it does: game trailers cut on the beat, with shots filmed from your Electron + Three.js game · narrated slides · automatic transitions (push, slide, zoom, wipe) · kinetic statements · animated charts · split media + text · write Markdown, get a video · screenshots · gameplay/video clips · GIFs in and out · code · stats · quotes · before/after · TikTok/Reels/Shorts captions · custom fonts · background music · screen recording for trailers · .srt captions · poster frames.
npm i github:random00000000/makevideo
npx makevideo init # writes video.json (or: init --style documentary | shorts | explainer) npx makevideo video.json # → video.mp4 + video.srt + video.report.json + video.jpg npx makevideo video.json --fast # same, about 3x faster on a first render
import { video } from 'makevideo';
await video({ title: 'Patch notes 1.2', scenes: [ { type: 'title', title: 'Patch 1.2', subtitle: 'Siege update', say: 'Here is what is new in patch one point two.' }, { type: 'clip', src: 'siege.mp4', title: 'Rams breach gates', say: 'Rams can now breach wooden gates.' }, { type: 'bullets', title: 'Also new', items: ['Faster pathing', 'New HUD'], say: 'Also new. Pathing is faster. And the HUD is redesigned.' }, { type: 'decisions', items: ['Ship Friday?'], say: 'One decision for you. Do we ship on Friday?' }, ], });
Agents get asked for videos all the time, and every agent builds them differently. Each video ends up with a new pipeline, a different voice, no narration unless someone asks for it, and a render that can take ten minutes. makevideo makes that one standard:
| ad-hoc agent videos | makevideo | |
|---|---|---|
| Format | a new script every time | one JSON spec (schema) |
| Voice | random TTS, sometimes none | Kokoro-82M, same voice every time (af_heart) |
| Narration | must be requested | on by default: every scene has say |
| Timing | guessed | measured from the generated audio, per sentence |
| Captions | rarely | burned in, plus an .srt sidecar |
| Speed | minutes | faster than real time on a CPU (see Performance) |
| Verification | watch the whole thing | makevideo preview makes a contact sheet in about 1 s |
The goal is that an agent's *first* attempt looks finished. Without any extra config you get:
auto picks push, zoom, wipe or fade based on what is cut to what. Override with "transition" globally or per scene.42%, v1.2, $3M, 4.6x, 35 s, e.g. and -> are all spoken correctly, and captions keep what you wrote.check flags walls of text, too many bullets, unsynced lists, overlong statements, dense scenes in portrait and repetitive pacing, and says how to fix each one.One switch, style, sets the whole look and sound: documentary (history channels), history (adds a war-drum score), or nature (science and dinosaurs). Then write the script and say which images you want:
---
title: Tyrannosaurus rex, the tyrant lizard king style: nature thumbnailText: The real T. rex
The tyrant lizard king
Sixty six million years ago, the largest predator in its world...
Chapter two. Built to kill.
Its story fits on one line. It appears sixty eight million years ago. It vanishes when the asteroid hits.
What you get, with no other settings:
preview lists which file each search picked, and flags with "?" any pick whose title doesn't match the query (for example a different species). Agents can refine the search before rendering. (or "search": "..." in JSON) searches Wikimedia Commons. It keeps only publish-safe licenses (CC0, public domain, CC BY, CC BY-SA), never reuses an image within a video, caches downloads, and shortens over-specific searches until something matches. Each image gets a small credit line, and the full attributions go into the description.pan / focus to override), plus chapter cards (## Chapter: ...) and timelines.music: documentary | epic | wonder | tension) and ducked under the narration.video.thumbnail.jpg (1280×720), and video.description.txt with YouTube chapter timestamps (0:00 first, each at least 10 s apart) and image credits.▶ The T. rex example (script): 2 min 37 s, rendered from one Markdown file.
From a transcript: treat another creator's transcript as research, not as a script. Have the agent write its own narration. Republishing someone else's script is copyright infringement, and YouTube demonetizes it as "reused content".
The engine enforces these, and following them in the script makes videos land:
say. check warns when they don't match..srt keeps every line). Use captions: "all" to turn this off.---
theme: midnight brand: My Game
The siege update
Here is what changed in patch one point two.
Rams now breach wooden gates. Three hits and they are down. Stone gates still hold.
npx makevideo patch-notes.md
Each #/## heading starts a scene, and its body decides the type: a list gives bullets/steps/decisions, label: number items give a chart, an image or video gives image/clip (or split, when there is text too), a code fence gives code, **42%** label gives a stat, and a paragraph gives a statement. Lines starting with > are the narration. When a scene has none, its visible text is read aloud, because narration is the default. sets scene options. See examples/whats-new-0.2.md; the 0.2 release video is that one file.
/plugin marketplace add random00000000/makevideo
/plugin install makevideo@makevideo
Then just say "make a video about …". Claude writes the spec, previews it, renders it, and hands you the MP4.
The plugin bundles both the skill and the MCP server.
Claude Desktop, Cursor, VS Code, Codex, Windsurf and other MCP clients:
{ "mcpServers": { "makevideo": { "command": "npx", "args": ["-y", "github:random00000000/makevideo", "mcp"] } } }
It's listed in the official MCP Registry as io.github.random00000000/makevideo, as a Docker image (ghcr.io/random00000000/makevideo). Without Node, run docker run -i --rm -v "$PWD:/work" -w /work ghcr.io/random00000000/makevideo mcp.
The tools are make_video (Markdown or JSON in, MP4 out, with progress notifications), preview_video (returns the contact sheet as an image the model can look at), check_video and video_reference. See the MCP guide.
npx -y github:random00000000/makevideo agents --all # AGENTS.md, CLAUDE.md, Cursor rules, Copilot instructions
npx -y github:random00000000/makevideo agents --global # this machine: Claude Code skill + Codex AGENTS.md
This writes a short
只显示了开头部分;其余内容请在仓库中阅读