mcpField
C
Crabcut

Crabcut

本地服务
github.com/realcrabcutAI 与智能体233 周前更新

关于 Crabcut

Crabcut 是一款 MCP 服务,可将 YouTube 视频转为带字幕的竖屏短片,并按评分排序。适用于需要生成短片和跟踪处理进度的 AI 助手及工作流。

主要功能

  1. 01从 YouTube 链接生成短片
  2. 02将画面调整为 9:16 竖屏
  3. 03为短片添加字幕
  4. 04跟踪项目与短片状态
  5. 05查看用量和剩余额度

适用场景

  1. 01从 YouTube 视频制作适合社交平台的短片
  2. 02仅处理视频中指定的片段
  3. 03通过 Webhook 接收已完成的短片

MCP 相关

向 MCP 客户端提供生成短片、查询项目状态、列出项目、获取短片详情和查看账户用量的工具。支持 stdio 配置和远程 Streamable HTTP 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"crabcut": {
"command": "npx",
"args": [
"-y",
"@crabcut/mcp-server"
],
"env": {
"CRABCUT_API_KEY": "<CRABCUT_API_KEY>"
}
}
}
}
启动命令npx -y @crabcut/mcp-server
需要配置的环境变量
CRABCUT_API_KEY密钥Your Crabcut API key from app.crabcut.ai/developers

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@crabcut/mcp-server2.0.7

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是完整的 YouTube 视频 URL(例如 https://www.youtube.com/watch?v=...)
end_timenumber否剪辑视频片段的结束时间(秒)。省略此参数可处理完整视频。
start_timenumber否剪辑视频片段的开始时间(秒)。省略此参数可处理完整视频。
callback_urlstring否处理完成时接收 POST 请求的 Webhook URL。负载包含按评分排序的片段数组,每个片段都包含 download_url。

详细介绍

@crabcut/mcp-server

将 YouTube 视频制作成短片——可通过 Claude、Cursor 或任何支持 MCP 的 AI 助手使用。

提供 YouTube 链接。它会找出最佳片段,调整画面以适配竖屏视频(9:16),添加字幕,并返回可供下载的短片。

smithery badge CrabCut MCP server

快速开始

  1. 在 app.crabcut.ai/developers 获取 API 密钥
  2. 运行:
CRABCUT_API_KEY=sk_live_... npx @crabcut/mcp-server

设置

Claude Desktop / Cursor

将以下内容添加到配置文件中——Claude 使用 claude_desktop_config.json,Cursor 使用 .cursor/mcp.json:

{
  "mcpServers": {
    "crabcut": {
      "command": "npx",
      "args": ["@crabcut/mcp-server"],
      "env": {
        "CRABCUT_API_KEY": "sk_live_..."
      }
    }
  }
}
Cursor Directory

在 Cursor 中安装

Smithery
npx @smithery/cli mcp add crabcut/crabcut-mcp-server
远程(Streamable HTTP)

适用于 n8n、自定义集成,或任何支持远程 MCP 的客户端:

  • 端点: https://mcp.crabcut.ai/mcp
  • 身份验证: Authorization: Bearer sk_live_...
  • 传输方式: Streamable HTTP(POST)

工具

工具功能
generate_clips根据 YouTube URL 开始生成短片。立即返回 project_id。
get_project_status查看进度,并在短片准备就绪后获取短片。短片按评分排序(最佳在前)。
list_projects列出你的项目及其状态和短片数量。
get_clip获取单个短片的完整详情。
check_usage查看你的套餐、剩余点数和使用情况。

工作原理

  1. 使用 YouTube URL 调用 generate_clips
  2. 立即获取 project_id
  3. 每隔 10–15 秒轮询一次 get_project_status(或传入 callback_url 以使用 webhook)
  4. 完成后,短片将按评分排序(最佳在前),每个短片都带有一个 download_url
状态

项目: pending → processing → completed(或 completed_no_clips / failed)

处理步骤: queued → DOWNLOADING_VIDEO → EXTRACTING_AUDIO → TRANSCRIBING → DETECTING_HIGHLIGHTS → CUTTING_CLIPS → EXPORTING_CLIPS → done

短片: pending → exporting → completed(或 failed)。当 clip_status 为 completed 时,download_url 即可用。

API 参考

generate_clips

开始从 YouTube 视频生成短片。

字段类型必填描述
urlstring是完整的 YouTube 视频 URL
start_timenumber否开始时间,单位为秒(仅处理一段视频时使用)
end_timenumber否结束时间,单位为秒(仅处理一段视频时使用)
callback_urlstring否完成后接收结果的 Webhook URL
{
  "project_id": "43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
  "status": "processing",
  "poll_url": "/api/v1/projects/43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
  "estimated_minutes": 5,
  "message": "Processing started. Poll with get_project_status every 10-15 seconds until status is 'completed'."
}
get_project_status

查看进度并获取短片。

字段类型必填描述
project_idstring是来自 generate_clips 的项目 ID
{
  "id": "43dbe622-...",
  "name": "Video Title",
  "status": "completed",
  "step": "done",
  "error": null,
  "expected_clips": 9,
  "duration": 639,
  "created_at": "2026-03-15T02:21:46.226Z",
  "clips": [
    {
      "id": "32538b9c-...",
      "title": "One Dating Theory Leads to Chaos",
      "duration": 41.83,
      "score": 90,
      "reason": "Sharp universal joke that hooks instantly with strong reactions.",
      "clip_status": "completed",
      "download_url": "https://cdn.crabcut.ai/exports/premium/.../clip-32538b9c-....mp4",
      "quality": "1080p",
      "thumbnail_url": "https://cdn.crabcut.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
      "created_at": "2026-03-15T02:29:10.954Z",
      "updated_at": "2026-03-15T02:30:43.907Z"
    }
  ]
}

短片按 score 排序(从高到低)。

list_projects
字段类型必填描述
limitnumber否返回的最大项目数。默认值为 20,最大值为 100。
statusstring否筛选条件:pending、processing、completed、completed_no_clips、failed
{
  "projects": [
    {
      "id": "43dbe622-...",
      "name": "Video Title",
      "status": "completed",
      "step": "done",
      "expected_clips": 9,
      "clips_count": 8,
      "duration": 639,
      "created_at": "2026-03-15T02:21:46.226Z"
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}
get_clip
字段类型必填描述
clip_idstring是来自项目短片数组的短片 ID
{
  "id": "32538b9c-...",
  "project_id": "43dbe622-...",
  "title": "One Dating Theory Leads to Chaos",
  "duration": 41.83,
  "score": 90,
  "reason": "Sharp universal joke that hooks instantly.",
  "export_status": "completed",
  "export_quality": "1080p",
  "is_exported": true,
  "video_url": "https://cdn.crabcut.ai/...",
  "video_url_720p": "https://cdn.crabcut.ai/...",
  "video_url_1080p": "https://cdn.crabcut.ai/...",
  "thumbnail_url": "https://cdn.crabcut.ai/...",
  "created_at": "2026-03-15T02:29:10.954Z",
  "updated_at": "2026-03-15T02:30:43.907Z"
}
check_usage

无需输入。

{
  "plan": "pro",
  "credits_remaining": 450,
  "credits_total": 500,
  "period_start": "2026-03-01T00:00:00.000Z",
  "period_end": "2026-04-01T00:00:00.000Z"
}

错误

HTTP 状态错误处理方法
400YouTube URL 无效检查 URL 格式
401未经授权检查 API 密钥
402点数不足购买更多点数或使用较短的视频
429超出速率限制等待后重试
500服务器内部错误稍后重试

Webhooks

调用 generate_clips 时传入 callback_url,即可在所有片段准备就绪后收到 POST 请求。

已完成:

{
  "event": "project.completed",
  "project_id": "43dbe622-...",
  "status": "completed",
  "source_url": "https://www.youtube.com/watch?v=H51iLa1leOU",
  "clips": [
    {
      "id": "32538b9c-...",
      "title": "One Dating Theory Leads to Chaos",
      "duration": 41.83,
      "score": 90,
      "download_url": "https://cdn.crabcut.ai/exports/premium/.../clip-32538b9c-....mp4",
      "thumbnail_url": "https://cdn.crabcut.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
      "quality": "1080p"
    }
  ]
}

失败:

{
  "event": "project.failed",
  "project_id": "43dbe622-...",
  "status": "failed",
  "error": "YouTube video is unavailable",
  "clips": []
}

片段按评分排序(从高到低)。如果你的服务未响应,我们最多重试 3 次。

签名验证(可选): 每个回调都包含一个 X-Crabcut-Signature 标头。使用 SHA-256(your_api_key) 作为签名密钥,计算请求正文的 HMAC-SHA256。将结果与标头值(sha256=<hex>)进行比较。

与 n8n 搭配使用

选项 A — Webhook(推荐):

  1. 创建一个包含 Webhook 触发器节点的工作流。复制其 URL。
  2. 添加一个 HTTP Request 节点:POST https://api.crabcut.ai/api/v1/clips/generate,使用 Header Auth(Authorization: Bearer sk_live_...),并添加以下正文:
    {
      "url": "https://www.youtube.com/watch?v=...",
      "callback_url": "https://your-n8n.com/webhook/abc123"
    }
    
  3. 片段准备就绪后,Webhook 节点会收到负载。
  4. 最佳片段:{{ $json.clips[0].download_url }}

选项 B — 轮询循环:

  1. 发送 POST 请求以生成片段(与上述相同,但不包含 callback_url)。
  2. Wait 15 秒 → GET https://api.crabcut.ai/api/v1/projects/{{ $json.project_id }} → 如果状态不是 completed,则循环返回 Wait。

REST API

如需不通过 MCP 直接发送 HTTP 请求:

方法端点说明
POST/api/v1/clips/generate开始生成片段
GET/api/v1/projects/:id获取项目状态和片段
GET/api/v1/projects列出项目
GET/api/v1/clips/:id获取单个片段的详情
GET/api/v1/account/usage查看积分和套餐

基础 URL:https://api.crabcut.ai — 所有端点都需要 Authorization: Bearer sk_live_...

环境变量

变量必填默认值
CRABCUT_API_KEY是—
CRABCUT_API_URL否https://api.crabcut.ai

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。