
AppsGolem YouTube Cutter
io.github.apancyborg由 GitHub 账号 apancyborg 发布v0.1.2更新于 Oct 24, 2026
Cut clips from YouTube videos in any format and get a direct download URL.
发布方自己的服务:Golem Context
概览
让助手从 YouTube 视频中剪切片段、音频、GIF、竖屏短片或帧图片,并返回下载链接。
- 可以做什么
- 把 AppsGolem YouTube 剪切 API 封装为三个工具:cut_youtube_video 提交单个片段或最多十段的范围,默认等待完成并返回下载地址;get_cut_status 按任务 id 查询进度;get_account_balance 返回剩余积分与每小时上限。剪切支持最高 2160p 分辨率,以及 video、audio_only、both、nosound、short、gif、frames 等模式,还可设置速度、流复制、拼接和幂等键。
- 适用场景
- 当助手需要从 YouTube 链接生成短视频或音频片段时使用,例如精彩片段、竖屏短片、MP3 音频、GIF 或帧联系表,并返回可下载的文件。
- 运行要求
- 以 stdio 方式在本地运行,通常通过 npx 启动,因此需要 Node.js 18 或更高版本。必须通过环境变量 APPSGOLEM_API_KEY 提供 AppsGolem API 密钥;可用 APPSGOLEM_API_BASE 覆盖默认 API 地址。需要访问 AppsGolem API 的网络连接,账户需有预付费积分。
安装
在 SourceWeft 中
- 打开 控制台中的 AppsGolem YouTube Cutter,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
appsgolem-mcp (Node / TypeScript)
An MCP server for the AppsGolem YouTube
cutter API. It lets an AI agent (Claude Desktop, Claude Code, Cursor, …) cut
clips from YouTube videos — in any format the web cutter supports — and get a
direct download URL back. The REST logic lives in a small, dependency-light
client (src/client.ts); src/server.ts is the thin MCP tool layer over it.
Get your API key → appsgolem.com/agents — sign up, add prepaid credits, and generate a key (
ag_live_…). That page also has copy-paste setup for Claude Code, Codex, Cursor, and any MCP client, plus a prompt cookbook.
Requirements
- Node.js >= 18 (uses the global
fetch). - An AppsGolem API key (
ag_live_…) — get one at appsgolem.com/agents (sign up → add credits → generate a key in your dashboard). Credits are prepaid; buy a pack or a subscription, no auto-renewal required.
Install / connect (no manual install)
npx fetches and runs the server on demand — nothing to install globally.
Claude Desktop / Cursor — add to the client's MCP config (e.g.
claude_desktop_config.json):
Claude Code — one command:
The server speaks MCP over stdio (the transport those clients use). A
missing APPSGOLEM_API_KEY is not fatal at startup — the server still starts
and advertises its tools; each call then returns a clear config_error telling
you to set the key.
Configuration
Pricing
1 produced clip = 1 credit. 2160p (4K) = 4 credits per clip — except
audio_only, which stays 1. A source longer than 2 h adds +1 once
per job, but only when its duration is known (the surcharge is skipped if the
probe can't determine it). A batch/stitch of N clips costs N per-clip.
Failed cuts are never billed.
Tools
The server exposes three tools. A call that passes MCP input-schema
validation returns a structured result — the API's own JSON on success, or
{ "error": … } on any handler/API failure — and never raises a protocol-level
error, so an agent always gets a usable object. (Invalid tool arguments are
rejected by the MCP SDK before the handler runs, as a text-only isError
result.)
1. cut_youtube_video
Cut a clip (or a batch of clips) from a YouTube video. By default it waits
until the clip is produced and returns its status (including a download_url
once a download token is ready); set wait: false to submit and return
immediately with the current job (its state is normally queued after dispatch).
Parameters
Returns (wait: true, default) — the produced job status. download_url is
present once a download token is available; if it isn't yet, poll again:
Returns (wait: false) — the job immediately, with its current state
(normally queued after dispatch) and no download_url yet; poll
get_cut_status with the id (or fetch poll_url):
If the wait times out before the clip is ready, the result carries
"still_processing": true and the job id — poll get_cut_status with that
id. If the job reaches a terminal failure, the result is
{ "error": "cut_failed", "state": "failed" | "refunded", "id": … } (and no
credit is charged).
2. get_cut_status
Check a cut job by its id. Use it to poll a job started with
cut_youtube_video(wait=false) or one that timed out.
Returns — the job's state; once produced/delivered it also carries a
download_url when a download token is available (otherwise poll again):
States progress accepted → queued → produced → delivered, or
failed → refunded on error.
3. get_account_balance
Return the API account's spendable credit balance and current hourly cap. No parameters.
Returns
Modes
Example prompts
Because the agent picks the parameters from your request, you drive it in plain language:
- "Cut 0:30 to 1:15 from https://youtu.be/dQw4w9WgXcQ in 1080p." →
cut_youtube_video(url, start="0:30", end="1:15") - "Grab the audio of that video from 2:00 to 5:00 as an mp3." →
mode="audio_only", audio_format="mp3" - "Make a vertical short of the 10:00–10:45 highlight." →
mode="short", start="10:00", end="10:45" - "Turn 0:05–0:12 into a GIF." →
mode="gif" - "Extract a contact sheet of frames every 5 seconds from 1:00 to 2:00." →
mode="frames", interval_ms=5000, sheet=true - "Stitch 0:10–0:20 and 1:00–1:10 into one clip." →
clips=[{start:"0:10",end:"0:20"},{start:"1:00",end:"1:10"}], stitch=true - "Do a fast, stream-copy cut of 0:00–0:30." →
fast=true - "How many API credits do I have left?" →
get_account_balance()
Result & error shapes
Every result from a handler is a plain object (MCP argument-validation
failures are the exception — see the Tools note above). On failure the object has an error code
(the tool call still succeeds):
API-level errors — validation 400, 402 insufficient_credits,
404 not_found, 409 idempotency_conflict / duplicate_in_flight,
429 rate_limited, and 503 rate_limiter_unavailable / database_busy — are
returned as the API's own error body plus a status field. A 429 also
includes retry_after (seconds, from Retry-After) plus a reason
(submission_cap · request_rate · poll_rate) so an agent can tell which
limit it hit and back off correctly. A 503 is usually transient (retry after
a short delay), but a persistent 503 is a server-side problem to report — not
to retry indefinitely.
Status polling is not rate-limited for normal use — checking a job's
progress never counts against your submissions/hour cap. You never need to
throttle get_cut_status yourself: cut_youtube_video(wait=true) polls and
paces for you (honoring the server's poll_after cadence and any Retry-After),
so a single tool call handles even long jobs.
Produced download links expire after a bounded window (~72 hours by default on appsgolem.com; configurable per deployment) — fetch the file within it.
A relative download_url (the API returns a path) is resolved to a full URL
against the configured API base only when the result stays on that origin.
Any download_url that resolves off the API's origin — an absolute URL to
another host, or a relative path that escapes the origin — is dropped for
safety: the field is removed and the result carries download_url_dropped: true,
so you can tell it apart from a job that simply isn't produced yet. When
cut_youtube_video is waiting for you (wait=true, the default), an off-origin
link surfaces as a download_url_unsafe error instead of handing back a bad URL.
Develop
Publishing
npm publish (from this directory) makes npx appsgolem-mcp work for everyone.
The prepare script builds dist/ automatically on install/publish.
来源:README.md,提交 de1e1b1
工具
0版本历史
1- v0.1.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Golem 集成
Golem Context
team.golem官方发布者
从任意 MCP 客户端读取你的 Golem 集群账本:代理会话、实时活动和已签名记录。AI 翻译
Golem Defender
team.golem官方发布者
面向编码智能体集群的远程账本:让助手查看哪些智能体正在运行、位于哪台主机、仓库、工作树和分支,以及它们做过什么。
Golem Intel
team.golem官方发布者
远程 MCP 端点,为编码代理提供跨机群的会话、工作树与分支可见性,并在连接 URL、域名或 IP 前给出威胁情报判定。
Golem Security
team.golem官方发布者
远程 MCP 端点,让助手在编码代理连接某个 URL、域名或 IP 之前获取其威胁情报判定。