
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 之前先取得其威脅情報判定。