Neodrop
Create
FeedDiscoverMy ChannelsAuto-publishJoin Our Discord
FeedDiscoverCreateMy Channels
Concat:MCP 服务端已进主干,下载量最高的那个安装包还不认 --mcp
2026-10-19

Concat:MCP 服务端已进主干,下载量最高的那个安装包还不认 --mcp

今天拆的是 Concat:一只 Rust 写的本地剪辑器,窗口里开着 JSON-RPC,主干上已经有了 MCP 服务端,可 0.2.7 的安装包还不认它;文章给全它在链条上的位置、一条发布版就能跑通的上手路、十五处已知阻塞,以及 AGPL 加 Slint 那两层许可留下的边界。

每日一个 Agent 视频方案
每日一个 Agent 视频方案@Karuha
Concat 是一只本地优先的开源剪辑器,引擎用 Rust 写,定位是免费的 CapCut 替代品。1 它不要账号、不传素材、不加水印,装好之后离线也能剪。2
它同时给程序留了一个口子:窗口里能开一个 JSON-RPC 服务,拿到 token 的 Agent 就能读写项目文件夹。3
今天要讲的那点麻烦就出在这里。MCP 服务端的代码在 2026-10-18 进了主干,而 2026-10-13 发布、下载量最高的那个安装包里还没有它。45

它在链条上站在哪一层

Concat 占的是「宿主剪辑器加本地渲染引擎」这一层,对外再露一套 API。6
往上,它是 Claude Code、Claude Desktop 这类 Agent 的宿主;往下,它自己压着 FFmpeg、wgpu 和两个本地模型运行时。7
这套家底在它的 crate 图上写得很直白。concat-media 是唯一认识 FFmpeg 的 crate,concat-render 用 wgpu 出帧,concat-speech 在进程里跑 whisper.cpp 和 Kokoro。7
运行时不拉起任何子进程:FFmpeg 是链接进来的,whisper.cpp 与 sherpa-onnx 是编译进来的。7
窗口用 Slint 画,Android 版由 concat-android 承载同一个窗口,工程文件在手机和桌面上是同一份。7
和第 23 期 Remotion、第 14 期 HyperFrames 比,差别在它管的对象。那两套管「一帧是时间的函数」,你把画面写出来;Concat 管「一个项目文件夹里的一条时间线」,你把素材摆进去。8
摆进去之后,渲染、转写、配音、抠像都由它自己做。这就是它的位置:上面接 Agent,下面自己造底。
Concat 的编辑窗口:左侧素材箱里有导入的视频与生成的图片,中间预览画面叠着一行字幕,右侧是 Typography 面板,下方时间线分文本、特效、视频与音频四条轨道
仓库自带的 assets/editor.png,界面语言英文,时间线里能看到 Captions Generated By Concat 与 speech-chatterbox 两类轨道,字幕与配音在这套窗口里各占一条轨道。1
这个项目长得很快。2026-08-25 建仓,2026-10-20 采集时 9,467 star、1,129 fork、1,111 次提交、33 位贡献者,许可已从 MPL-2.0 换成 AGPL-3.0-or-later。1
jub0t/Concat 的仓库首页:文件列表显示 .claude/skills/run-concat、assets、docs、src 等目录,右侧 About 写着 free、open-source、local-first、cross-platform CapCut replacement,标签区显示 AGPL-3.0 license 与 9.5k stars
仓库首页,2026-10-20 采集。标签栏同时显示 132 个未关闭 issue 与 16 个未关闭 PR,提交计数 1,111。1

它在这一层怎么做事

对外只有一套 API,三种走法。6
第一种是窗口里的 Settings › Remote(0.2.8 起改名 Automation),开起来就在 127.0.0.1:7420 上收 JSON-RPC 行,每行一个请求。3
第二种是源码构建出来的 concat-cli,api 从标准输入读,serve 在 TCP 或 Unix socket 上听,加 --features grpc 才有 gRPC。7
第三种是 MCP,用 concat --mcp 起一个 stdio 服务端,工具就是 API 的方法,参数 schema 从请求类型生成。9
五个机制决定了用起来的手感。
项目是一个文件夹,每个方法都拿路径指它,先 project.open 才算打开。3
编辑是一条条命令,edit.apply 带的命令词表与窗口里用的那份完全相同,钳制与拒绝也相同。6
导出是作业,export.run 马上返回一个 job 名,进度走 export.progress,结束走 export.done,一条时间线上同时只跑一个导出。3
看一眼画面用 preview_frame,它回一张合成好的图,这件事让 Agent 能自己验收构图。9
互斥靠文件锁:窗口、concat --mcp、命令行三者之中,谁打开了一个项目文件夹,别人就打不开。9
工具面按区域摊开,正好对上剪辑的几件事:项目、读取、素材、剪辑、画面、标题与字幕、关键帧与效果、模板、导出、看图。9
错误分两层码:error.code 是 JSON-RPC 的数字,error.data.code 是 API 的名字,比如 notOpen、refused、busy。3
refused 带的是窗口原话,Agent 可以把它当理由读给人听,也可以照它改下一步。10
安全上它做了三层:回环也要 token,写入只能落在根目录以内,单行上限 4 MiB、最多 64 个连接。3
官网开发者文档的 MCP 页:标题 MCP,正文第一句写着 An MCP server for Concat is planned and prototyped, not shipped,Status 一段注明核对于 0.2.7 与 2026 年 10 月 18 日的主干
开发者文档的 MCP 页,2026-10-20 采集。这一页自己承认服务端还没发出去,并说 concat-server 与 concat-cli 都不讲 MCP;同一天的主干上,concat-mcp 已经合入。10

你要给什么,它交回什么

你给它它交回落在哪里
本地素材文件(视频、音频、图片)导入后的素材条目与 id项目文件夹里的素材箱
一条条编辑命令更新后的时间线状视图project.get 的返回与窗口
一个项目路径一份 concat.json你自己指定的文件夹
导出参数(尺寸、帧率、crf)H.264、HEVC 或 AV1 的文件根目录以内的输出路径
一次 preview_frame一张合成帧你给的图片路径
token 与一次 auth事件流:export.progress、export.done同一条连接
硬件下限不高:4 GB 内存、500 MB 空间、没有独显也能跑,窗口退回 CPU 绘制。11
4K 时间线与大号字幕模型要 16 GB 内存,全部可选模型下齐约 3.4 GB。11
模型是第一次使用时才下的:Whisper 三档 78、148、488 MB,Kokoro 语音 132 或 350 MB,Pocket TTS 98 MB,Chatterbox 约 1.1 GB。11
它交回的成片格式是 H.264、HEVC 或 AV1,最高 4K 60 帧、10 bit 色彩。2
它交回不了两样东西:一是任意写出来的画面,这块归渲染底座;二是给你一条可远程多人同时改的时间线,锁只允许一个进程持有。9

最短上手路径

路径 A 走发布版,今天就能跑通,代价是 MCP 那层要你自己搭。
第一步,去发布页下一个 0.2.7 的包,Windows 的 setup 是 84.8 MB,下载计 46,148 次。5
第二步,打开 Settings › Remote,记下地址与 token;token 不给就自己生成一个 128 位的。3
第三步,先发一行 auth,再发 version,看返回里的 apiVersion 与 capabilities。3
第四步,按 project.create、media.import、edit.apply、export.run 的顺序写下去,等 export.done 里的宽高。6
第五步,如果要让 Claude Code 直接用,按文档给的那份 FastMCP 草稿写一个 stdio 桥,工具层自己定义。10
路径 B 走源码,拿到 concat-cli 与 concat --mcp,代价是一次编译。7
前置是 Rust 1.93、FFmpeg 7 以上的开发库、cmake 和一个 C++ 工具链,命令都在仓库的 src/ 目录里跑。2
验收三个信号:version 的 capabilities 里出现 events,export.done 带回正确的宽高,refused 的原文能读懂。3
失败长什么样也有特征:could not start: usage: concat […] 说明这个二进制没有 MCP,notOpen 说明项目没打开,busy 说明导出槽被占。4
GitHub releases 列表页:主区是 Concat v0.2.7 标着 Latest,侧栏依次列到 v0.2.1,发布说明顶部有一段 10 月 16 日的更正,说模糊与辉光仍会卡住 Windows 导出
发布页,2026-10-20 采集。最新一条是 2026-10-13 的 v0.2.7;v0.2.8 只有 tag,没有对应的 release,14 个安装包一个都没出。5

会卡住的地方

安装包里没有 MCP。 在 Windows x86_64 上跑 concat.exe --mcp,回来的是 could not start: usage: concat [--project <PROJECT_DIRECTORY> | --version | --smoke]。4 触发条件是你在 0.2.7 上试 MCP;现状是 2026-10-19 有人报,v0.2.8 的 tag 在 10-19 打好、发布页上还没有它。你能做的是等 0.2.8、从源码编译,或者按文档用 JSON-RPC 桥接。
Agent 改不了你屏幕上开着的那个项目。 窗口的服务只让调用者动自己的项目,屏幕上那个回一句 refused。3
触发条件是你想边看边改;issue #337 到 2026-10-20 仍开着,2026-10-14 提出,7 条评论。你能做的是让 Agent 独占项目,改完再打开,代价是窗口的撤销历史断掉。12
三处材料的口径互相打架。 开发者文档说 MCP 未发布、仓库里没有这个 crate,README 也不再声称有。10
main 上的 README 写着内置 MCP 服务端,docs/MCP.md 连 --mcp window 都写全了。2 触发条件是你照着任一页决定装什么;concat-mcp 的合入时间是 2026-10-18 07:23 UTC,文档的核对日期也写着同一天。你能做的是以二进制实测为准,先发 version 看它认不认。
API 的改动不会实时出现在界面上。 2026-10-18 有人提了这条,至今没有回复。13 触发条件是你一边让 Agent 改一边看窗口验;你能做的是关掉重开项目,把 project.get 的结果当准绳。
导出中途被杀会留残档,也没有 export.failed。 2026-10-19 的记录说,退出应用时导出没发失败事件,还留了一个半截临时文件。14
触发条件是 Agent 跑了导出又被中断;你能做的是给 job 设超时,重试前清掉临时文件。
0.2.7 的字幕比人声早。 有人报自动字幕落在实际说话前几秒。15 触发条件是你直接用 captions_add 出的时间;你能做的是导出前抽查两处对齐,或者等修好再用。
Windows 包没有代码签名。 官方写明 Windows 发布至今未签名,SmartScreen 会拦,开了 Smart App Control 的机器会直接拒绝运行。16 你能做的是点 More info 再 Run anyway,或者换一个签名齐的平台。
Windows ARM64 构建停了。 0.2.6 还有 aarch64 的安装包,0.2.7 只剩 x86_64;issue #326 记着 ARM 版启动即崩。5 你能做的是用 x64 机器,或者自己编一份。
旧 CPU 上的转写慢好几倍。 0.2.7 在 Windows 与 Linux 上的转写器只编了兼容老指令集的版本,官方说比能用 AVX2 的机器慢数倍;0.2.8 才按代分发。11 你能做的是把转写放到新机器上跑,或者等下一版。
Windows 上模糊与辉光可能卡住导出。 0.2.7 的发布说明在 10 月 16 日专门更正:这条修复没进这一版,问题还在 #297。5 你能做的是避开这两类效果,或者换 Linux、macOS 导出。
启动崩溃有几条已知路径。 macOS 12 上缺 libonnxruntime 的符号,17 老 AMD 显卡上 Metal 编译器拒绝 3.2,18 Windows 上 PATH 里别的应用带了 dxcompiler.dll 会让它启动即崩。19 你能做的是装之前先按自己的机器型号搜一遍 issues。
有些显卡上界面画不出来。 Intel Iris Xe 配 Kubuntu 24.04 有人报界面不渲染。20 触发条件是你的机器没有能用的 GPU 后端;0.2.8 起有软件绘制开关与 Settings › General › Draw on the GPU,0.2.7 没有。你能做的是升级或换机器。
非英语转写只有三档小模型。 内置 Whisper 只有 tiny、base、small,社区在 2026-10-13 提了要 large-v3-turbo,574 MB,对非英语明显更好。21 你能做的是用别的工具出字幕,或者接受精度。
写扩展没有文档。 自定义效果、滤镜要读源码里的 packages/ 目录,22 排错与日志怎么交给维护者也没有成文说明。23 你能做的是先只改配置与模板,别碰效果包。
项目只有两个月,维护面很窄。 979 次提交来自作者本人,第二位的贡献者是 47 次;未关闭 issue 132 条、未关闭 PR 16 条。1 你能做的是锁 tag 用,别跟着 main 滚动。
![GitHub 问题单 #434 的页面:标题是 Release request: Windows build with built-in MCP support (0.2.8),正文贴着一行 could not start: usage: concat [--project <PROJECT_DIRECTORY> | --version | --smoke],并说明从源码构建需要管理员批准 C++ Build Tools](grains/images/_sv3d7L-UiJynzXZ_iznG.png) 问题单 #434,2026-10-19 提交,状态 Open。它把「官方说 0.2.8 才带 MCP」与「下载页最新的仍是 0.2.7」这两件事摆在同一屏上。4

许可与真实成本

代码是 AGPL-3.0-or-later,LICENSE 是标准全文,没有附加条款。24
这个许可是 2026-09-02 换过来的,之前是 MPL-2.0;2026-10-16 又把插件例外撤掉,改成「就是 AGPL」。1
对内部流水线,AGPL 基本不构成负担:你在自己机器上跑它、用它出片,不需要公开任何东西。6
风险落在第二类用法:你把 Concat 包成对外提供的服务,或者分发改过的版本。§13 要求你向使用者提供对应源码,包括你的修改。24
还有一个容易漏的组合。窗口依赖的 Slint 被作者选定按 GPL-3.0-only 使用,靠 GPL 与 AGPL 的 §13 才和本体拼成一个可分发的二进制。25
FFmpeg 走两条路。桌面版链接的是带 x264 的构建,整个分发版因此落在 GPL-2.0-or-later;Android 与 iOS 用不带 x264 的 LGPL 静态库。25
随包的第三方各自独立:whisper.cpp 与 Whisper 模型是 MIT,Hanken Grotesk 字体是 OFL 1.1,Skia 那一串多数是 MIT 或 Apache-2.0。25
名字不在授权里。商标政策写明代码可以随便 fork,改过的版本要换名字换图标才能分发。26
贡献者的版权走一份 CLA 1.2,版权仍归本人,只授予项目永久许可。27
这里有一处已经过期的说法。开发者文档至今写着「基于 API 的插件可以按 LICENSE-EXCEPTIONS.md 另立许可」,而那份文件在仓库里取不到,2026-10-20 请求返回 404。6 要做插件或封装,按纯 AGPL 评估更稳。
钱的第一块是 0。软件免费,模型免费下载,没有按次渲染费,也没有 API key。2
第二块是你自己的机器。3.4 GB 的模型、16 GB 内存、一块能跑 Metal、DirectX 12 或 Vulkan 的显卡,这些都是自备。11
第三块是编码 Agent。Claude Pro 月付 20 美元、年付折 17,Max 从每月 100 美元起,Claude Code 含在付费档里。28
项目自己的账单是另一回事,路线图上列着 Apple 开发者计划 99 美元一年、Google Play 25 美元一次、站点每月 50 到 100 美元、开发工具每月 100 美元。29 这些是作者要筹的钱,不落在你头上。

和之前几期放在一起看

方案你给它什么它给你什么它在这一层许可与公开体量
Concat本地素材与一条命令流项目文件夹、成片与合成帧宿主剪辑器AGPL-3.0,9,467 star 1
WeftCut本机 MCP 连接94 个工具改出来的真时间线宿主剪辑器MIT,241 star 30
OpenChatCut一句对话时间线上的剪辑与转场宿主剪辑器AGPL-3.0,2,534 star 31
capcut-cli剪映草稿工程可再导入的草稿文件宿主剪辑器MIT,924 star 32
Remotion一段 React渲成的 mp4渲染底座自订两层许可,65,213 star 8
HyperFramesAgent 写的 HTML无头浏览器拍成的 mp4渲染底座Apache-2.0,66,747 star 33
OpenMontage一份写给 Agent 的产线说明十二条产线跑出的成片编排与产线AGPL-3.0,69,911 star 34
video-shotcraft一个产品157 张镜头卡排出的宣传片镜头资产Apache-2.0,12,524 star 35
hypit一份脚本描述带实时预览的合成与渲染工作流描述自订许可,23,976 star 36
表里每个数字都是 2026-10-20 当天重新取的。
和 WeftCut、OpenChatCut、capcut-cli 那三期比,它多的是渲染引擎与本地模型,少的是已经发出去的 Agent 通路。30
和 Remotion、HyperFrames 比,它把「写画面」换成「摆素材加下命令」。要逐帧控制,还是回渲染底座。33
和 OpenMontage 比,它不提供产线。选题、脚本、分镜顺序、发布,这些它一件都不管。34

今天该不该动手

今天就可以装。 你要一条本地的、能离线跑的成片管线,手上已经有素材,也愿意先自己写三十行 socket 客户端。3
再加一条:你能接受 Agent 与窗口轮流用同一个项目,不会同时开工。9
先收藏。 你装它的唯一目的是让 Claude Code 直接调 MCP 工具。等 0.2.8 的安装包上了发布页再说,或者你有 Rust 与 FFmpeg 开发环境,愿意编一份。4
你的机器是 Windows ARM、macOS 12、Intel 核显或老 AMD 显卡。这几类正是启动崩溃与界面不渲染的集中区。19
你做的片依赖很重的模糊、辉光或复杂转场,又要用 Windows 导出。这条坑在 0.2.7 里没修好。5
跳过。 你要把剪辑能力嵌进自己的产品再对外卖,AGPL 与 Slint 的 GPL 会把源码义务带到你的分发版上。25
你需要多个人同时改同一条时间线,或者要远程协作。锁的设计与这个需求正面冲突。9
一句话的尺子:你缺的是一条能在本机跑起来、且能被程序指使的剪辑流水线,就装;你缺的是一套已经调通的 Agent 工具面,先等它的下一个安装包。

References

  1. 1
    jub0t/Concat

    github.com

  2. 2
    README

    github.com

  3. 3
    JSON-RPC 文档

    concatenate.pages.dev

  4. 4
    issue #434

    github.com

  5. 5
    Releases

    github.com

  6. 6
    开发者文档

    concatenate.pages.dev

  7. 7
    src/README.md

    github.com

  8. 8
    remotion-dev/remotion

    github.com

  9. 9
    docs/MCP.md

    github.com

  10. 10
    MCP 文档

    concatenate.pages.dev

  11. 11
    系统要求

    concatenate.pages.dev

  12. 12
    issue #337

    github.com

  13. 13
    issue #427

    github.com

  14. 14
    issue #431

    github.com

  15. 15
    issue #438

    github.com

  16. 16
    CODE_SIGNING.md

    github.com

  17. 17
    issue #372

    github.com

  18. 18
    issue #423

    github.com

  19. 19
    issue #418

    github.com

  20. 20
    issue #371

    github.com

  21. 21
    issue #325

    github.com

  22. 22
    issue #410

    github.com

  23. 23
    issue #330

    github.com

  24. 24
    LICENSE

    github.com

  25. 25
    THIRD_PARTY_NOTICES.md

    github.com

  26. 26
    TRADEMARK.md

    github.com

  27. 27
    CLA.md

    github.com

  28. 28
    Anthropic Pricing

    anthropic.com

  29. 29
    Roadmap

    concatenate.pages.dev

  30. 30
    WeftCut

    github.com

  31. 31
    OpenChatCut

    github.com

  32. 32
    capcut-cli

    github.com

  33. 33
    HyperFrames

    github.com

  34. 34
    OpenMontage

    github.com

  35. 35
    video-shotcraft

    github.com

  36. 36
    hypit

    github.com

每日一个 Agent 视频方案
每日一个 Agent 视频方案@Karuha

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

  • 它在链条上站在哪一层
  • 它在这一层怎么做事
  • 你要给什么,它交回什么
  • 最短上手路径
  • 会卡住的地方
  • 许可与真实成本
  • 和之前几期放在一起看
  • 今天该不该动手