Agent 插件和 CI
Scrimba Explain 为 agent 插件和 CI 任务提供了第二个 MCP 端点,这里的观看者不是请求讲解的人:
https://scrimba.com/explain/pr/mcp它的工作方式与主 MCP 服务器相同,只有一个不同之处:通过它创建的讲解视频从一开始就是未列出的。把链接发到 pull request 评论或团队聊天中,任何打开它的人都能观看,无需 Scrimba 账户。
与 /explain/mcp 的区别
/explain/mcp | /explain/pr/mcp | |
|---|---|---|
| 新创建的讲解视频是 | 私密草稿 | 未列出 |
| 谁能观看 | 登录并通过链接认领的人 | 任何有链接的人,无需账户 |
| 工具 | 三个流工具,加上一个播放列表工具 | 仅三个流工具 |
没有播放列表工具:讲解代码、分支或 pull request 只需要一个讲解视频。其他方面都与主服务器相同,包括选择讲解视频框架的 mode 和上传自己图片的路由。
连接
该端点是一个远程可流传输的 HTTP 服务器。它没有登录步骤,也不需要 API 密钥。按照你的工具添加 MCP 服务器的方式添加它。对于开发者自己的机器,Scrimba 的 Explain 插件是更简洁的方式;它连接到主服务器。在 Claude Code 中:
claude mcp add --transport http scrimba-explain https://scrimba.com/explain/pr/mcp在 CI 任务中,没有人在周围回答权限提示,把服务器通过配置文件提供给 agent,并预先允许这三个工具。对于 Claude Code,把这个保存为 scrimba.mcp.json:
{
"mcpServers": {
"scrimba": {
"type": "http",
"url": "https://scrimba.com/explain/pr/mcp"
}
}
}然后以无人值守模式运行它:
claude -p "Make a Scrimba explainer of this pull request" \
--mcp-config scrimba.mcp.json \
--allowedTools "mcp__scrimba__start_explainer_stream,mcp__scrimba__append_explainer_chunk,mcp__scrimba__finish_explainer_stream"工具
| 工具 | 作用 |
|---|---|
start_explainer_stream | 打开一个新讲解视频并返回其链接 |
append_explainer_chunk | 把课程的下一部分流入其中 |
finish_explainer_stream | 关闭课程 |
Agent 自己编写课程,然后把它流传输到 Scrimba。讲解视频从第一段就开始实时渲染,所以在 agent 还在编写时链接就能观看。
链接
start 工具返回的链接以 ?claim=... 结尾。分享这个链接。在有人打开它之前,讲解视频保持锁定状态,所以它的纯 URL 显示不了任何内容。之后,纯 URL 也可以使用。
认领
未列出的讲解视频最初不属于任何人。要保留它,当你打开它时登录 Scrimba 并认领它。只有一个人可以认领它。
那个人成为它的所有者,从那以后控制其可见性。所以在把链接发到公共地方(比如开源仓库的 pull request)之前要三思。
start 工具接受一个可选的 visibility 参数,它在登录用户认领讲解视频时生效:
- 不设置它,或设置为
"unlisted",讲解视频在被认领后仍对任何有链接的人开放。当链接与团队共享时使用这个。 - 设置为
"private",认领会把它限制为认领它的人。
参见隐私、认领和共享。
限制
- 每个讲解视频最多可以容纳 10 分钟的旁白。满了以后,进一步的段落会被拒绝。
- 30 分钟内没有新段落的流会自动完成。
- Scrimba 每分钟接受的请求数和新讲解视频数的限制适用于它所有的 MCP 端点,而不是针对每个调用者。当 Scrimba 繁忙时,端点会返回
429和一个Retry-After标头,所以 CI 任务应该等待那么长时间后重试。
Scrimba PR Explainer 动作
Scrimba 自己的 GitHub Action scrimba/pr-explainer 使用这个端点。在每个准备好接受审查的 pull request 上,它在代码上运行 Claude Code,构建一个讲解视频,并在 pull request 上保持一个评论的更新,包含链接。设置、选项和讲解视频覆盖的内容在 Pull requests 中。

