Turn YouTube videos into short clips from any AI assistant.
@crabcut/mcp-server
Turn YouTube videos into short clips — from Claude, Cursor, or any AI assistant that supports MCP.
Give it a YouTube link. It finds the best moments, reframes for vertical video (9:16), adds subtitles, and returns download-ready clips.
Quick Start
- Get an API key at app.crabcut.ai/developers
- Run:
CRABCUT_API_KEY=sk_live_... npx @crabcut/mcp-server
Setup
Claude Desktop / Cursor
Add to your config file — claude_desktop_config.json for Claude, .cursor/mcp.json for Cursor:
{
"mcpServers": {
"crabcut": {
"command": "npx",
"args": ["@crabcut/mcp-server"],
"env": {
"CRABCUT_API_KEY": "sk_live_..."
}
}
}
}
Cursor Directory
Smithery
npx @smithery/cli mcp add crabcut/crabcut-mcp-server
Remote (Streamable HTTP)
For n8n, custom integrations, or any client that supports remote MCP:
- Endpoint:
https://mcp.crabcut.ai/mcp - Auth:
Authorization: Bearer sk_live_... - Transport: Streamable HTTP (POST)
Tools
| Tool | What it does |
|---|---|
generate_clips |
Start clip generation from a YouTube URL. Returns a project_id right away. |
get_project_status |
Check progress and get clips when ready. Clips are sorted by score (best first). |
list_projects |
List your projects with status and clip counts. |
get_clip |
Get full details for a single clip. |
check_usage |
See your plan, remaining credits, and usage. |
How It Works
- Call
generate_clipswith a YouTube URL - Get back a
project_idimmediately - Poll
get_project_statusevery 10–15 seconds (or pass acallback_urlfor webhook) - When done, clips are sorted by score (best first), each with a
download_url
Statuses
Project: pending → processing → completed (or completed_no_clips / failed)
Processing steps: queued → DOWNLOADING_VIDEO → EXTRACTING_AUDIO → TRANSCRIBING → DETECTING_HIGHLIGHTS → CUTTING_CLIPS → EXPORTING_CLIPS → done
Clips: pending → exporting → completed (or failed). The download_url is available when clip_status is completed.
API Reference
`generate_clips`
Start clip generation from a YouTube video.
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | Full YouTube video URL |
start_time |
number | No | Start time in seconds (to process only a segment) |
end_time |
number | No | End time in seconds (to process only a segment) |
callback_url |
string | No | Webhook URL to receive results when done |
{
"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`
Check progress and get clips.
| Field | Type | Required | Description |
|---|---|---|---|
project_id |
string | Yes | The project ID from generate_clips |
{
"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"
}
]
}
Clips are sorted by score (highest first).
`list_projects`
| Field | Type | Required | Description |
|---|---|---|---|
limit |
number | No | Max projects to return. Default 20, max 100. |
status |
string | No | Filter: 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`
| Field | Type | Required | Description |
|---|---|---|---|
| ` |
Tools (5)
generate_clipsStart clip generation from a YouTube URL.get_project_statusCheck progress and get clips when ready.list_projectsList your projects with status and clip counts.get_clipGet full details for a single clip.check_usageSee your plan, remaining credits, and usage.Environment Variables
CRABCUT_API_KEYrequiredAPI key obtained from app.crabcut.ai/developersConfiguration
{"mcpServers": {"crabcut": {"command": "npx", "args": ["@crabcut/mcp-server"], "env": {"CRABCUT_API_KEY": "sk_live_..."}}}}