原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

AppsGolem YouTube Cutter

作者:apancyborg版本 0.1.2i★ –i在你的电脑上运行
注册名称io.github.apancyborg/appsgolem-mcp

安装

概览

作者提供的说明(英文原文)

Cut clips from YouTube videos in any format and get a direct download URL.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 营销与社交媒体
  • 你需要填写:APPSGOLEM_API_KEY

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: APPSGOLEM_API_KEY, APPSGOLEM_API_BASE

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "appsgolem": {
      "command": "npx",
      "args": [
        "-y",
        "appsgolem-mcp"
      ],
      "env": {
        "APPSGOLEM_API_KEY": "your-value",
        "APPSGOLEM_API_BASE": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add appsgolem --env APPSGOLEM_API_KEY=your-value --env APPSGOLEM_API_BASE=your-value -- npx -y appsgolem-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "appsgolem": {
      "command": "npx",
      "args": [
        "-y",
        "appsgolem-mcp"
      ],
      "env": {
        "APPSGOLEM_API_KEY": "your-value",
        "APPSGOLEM_API_BASE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "appsgolem": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "appsgolem-mcp"
      ],
      "env": {
        "APPSGOLEM_API_KEY": "your-value",
        "APPSGOLEM_API_BASE": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • APPSGOLEM_API_KEY 机密 必填 env
    Your AppsGolem API key (ag_live_…). Create one at https://appsgolem.com/agents.
  • APPSGOLEM_API_BASE env
    Override the API base URL (default https://appsgolem.com) for self-host or dev.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 apancyborg 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“营销与社交媒体”中的其他服务器比较i

  • 星标数多于此分类中其他 3577 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 3577 个服务器的 27% 更新
  • 基础检查结果等于或优于此分类中其他 3577 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

AppsGolem YouTube Cutter 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:APPSGOLEM_API_KEY

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.2)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

MCP YouTube Transcript

作者:jkawamoto

An MCP server retrieving transcripts of YouTube videos

在你的电脑上运行★ 495MIT11天前更新
安装

Google Analytics MCP

作者:surendranb

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

在你的电脑上运行★ 244MIT10天前更新
安装

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

在云端运行★ 137MIT11天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

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](https://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](https://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):

{

"mcpServers": { "appsgolem": { "command": "npx", "args": ["-y", "appsgolem-mcp"], "env": { "APPSGOLEM_API_KEY": "ag_live_…" } } } }

Claude Code — one command:

claude mcp add appsgolem -e APPSGOLEM_API_KEY=ag_live_… -- npx -y appsgolem-mcp

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

Env varRequiredDefaultNotes
APPSGOLEM_API_KEYyes—Your ag_live_… key.
APPSGOLEM_API_BASEnohttps://appsgolem.comOverride for self-host / dev.

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

NameTypeDefaultNotes
urlstring—Required. YouTube watch / share / youtu.be URL. Playlists are rejected.
startstring—Clip start: "SS", "MM:SS", or "HH:MM:SS" (≤ 300 h). Omit when using clips.
endstring—Clip end, same formats (≤ 300 h). Omit when using clips.
resolutionstring1080p144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; total cut ≤ 60 min).
modestringvideovideo · audio_only · both · nosound · short · gif · frames (see Modes below).
audio_formatstring—The audio_only output format: mp3 · m4a · wav · flac (server defaults to mp3). both always produces MP3.
bitratestring—Lossy-audio bitrate 320 · 256 · 192 · 128 (default 320): MP3/M4A in audio_only, MP3 in both; ignored for WAV/FLAC.
fastbooleanfalseStream-copy (≈10× faster, keyframe-aligned); video / nosound / both only. Mutually exclusive with a non-1× speed — if both are set, fast wins and speed is forced to 1.0.
speednumber1.0Playback speed 0.5 · 1 · 1.25 · 1.5 · 2. video / nosound / both / audio_only.
interval_msinteger2000frames sampling interval: 100 · 500 · 1000 · 2000 · 5000 · 10000 (non-sheet extraction is capped at 1,800 JPGs total across all clips).
burn_tsbooleanfalseframes: burn the source timestamp onto each JPG.
sheetbooleanfalseframes: return a single contact-sheet JPG (2–80 frames, single clip). Setting it disables burn_ts.
clipsarray—An array of 1–10 { start, end } ranges instead of start/end (an empty array is rejected).
stitchbooleanfalseWith 2+ clips, join them into one file (else a zip of clips); ignored for a single clip. video / audio_only / both / short / nosound.
idempotency_keystring—A stable key (≤ 200 chars) so a retried request reuses the same job (sent as the Idempotency-Key header).
waitbooleantruePoll until ready, up to the timeout_seconds polling deadline.
timeout_secondsinteger300Polling deadline in seconds (default 300). It bounds the *polling* only — the initial submission and one in-flight status request (each up to a 30 s request timeout) can extend total wall-clock.

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:

{

"id": "e48db1a2-1c3d-4e5f-8a9b-0c1d2e3f4a5b", "state": "produced", "credits_reserved": 1, "created_at": "2026-08-22T12:00:00+00:00", "download_url": "https://appsgolem.com/v1/download/…/clip.mp4" }

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):

{

"id": "e48db1a2-1c3d-4e5f-8a9b-0c1d2e3f4a5b", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-1c3d-4e5f-8a9b-0c1d2e3f4a5b" }

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.

NameTypeNotes
job_idstringRequired. The job id (a UUID) returned by cut_youtube_video.

Returns — the job's state; once produced/delivered it also carries a download_url when a download token is available (otherwise poll again):

{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "created_at": "…" }

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

{ "balance": 412, "hourly_cap": 60 }

Modes

modeOutputNotable options
videoVideo file, no watermark — normally MP4; fast preserves the source container (e.g. WebM at high res)resolution, fast, speed
audio_onlymp3 / m4a / wav / flacaudio_format, bitrate, speed
bothVideo + MP3 together, as a zip (fast may preserve the video's source container)bitrate, fast, speed
nosoundVideo with no audio track — normally MP4; fast preserves the source containerresolution, fast, speed
shortPortrait 9:16 — AI smart-crop when applicable, else a letterbox-blur fallback whose exact aspect depends on the source (Shorts / Reels / TikTok)resolution
gifAnimated GIF (≤ 5 min; no multi-clip)resolution
framesJPG stillsinterval_ms, burn_ts, sheet

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):

errorWhen
config_errorAPPSGOLEM_API_KEY is missing.
invalid_api_keyThe key was rejected (401).
invalid_job_idjob_id isn't a UUID.
not_foundNo such job for this account (404).
cut_failedThe job reached failed/refunded (never billed).
network_errorConnection/transport failure or request timeout.
bad_requestThe configured API base/path couldn't be built into a URL.
http_errorA ≥400 response whose JSON body isn't an { error: … } object (carries status).
bad_responseA success response whose body isn't a JSON object (array/scalar/null), or — with wait: true — a cut submission that came back without a usable job id.

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

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx