CapCut MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CapCut MCP Server Take my talking head clip, remove background, add karaoke captions, and master audio to -14 LUFS."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CapCut MCP Server π¬β¨
A Model Context Protocol (MCP) server for CapCut Desktop. Enables AI coding agents (Claude Code, Cursor, Windsurf, Antigravity) to programmatically assemble vertical videos, remove backgrounds via CapCut's native AI cutout, auto-duck background music, punch-zoom for retention, style viral karaoke captions, and lint social media safe zones directly on your local timeline.
JSON in, real CapCut draft out β open CapCut Desktop and your project is 100% assembled, layered, and ready for 1-click human review and export.
Key Capabilities
1. πͺ AI Background Removal (Smart Portrait Cutout)
Native CapCut Cutout (
flag: 3): Programmatically sets the smart portrait matting flag on any video material indraft_content.json.Temporal Consistency: CapCut Desktop's local GRU video matting model (
tt_matting_video_gru) automatically processes the subject when opened or exported β no flickering, transparent ghosting, or manual rotoscoping required.Chroma Key: Green/blue screen cutout with custom hex color, intensity, and shadow parameters.
2. ποΈ Studio Audio Improver & Auto-Ducking
Fast DSP Mode (~1s):
High-pass filter (
80 Hz) strips table thumps, traffic rumble, and HVAC infrasound.FFT spectral de-hiss (
afftdn) removes steady microphone hiss and fan noise.Spoken clarity EQ (+2.5dB presence boost at 3.5kHz, -1.5dB muddiness cut at 250Hz).
Dynamic compression for level vocal consistency.
-14 LUFSEBU R128 Normalization: Broadcast/streaming standard for TikTok Shop, Instagram Reels, and YouTube Shorts.
Neural Isolation Mode (Demucs):
Uses deep neural stem separation (
htdemucs) to isolate clean vocal stems from room echo, background chatter, and music bleed.
Smart Music Auto-Ducking:
Injects
KFTypeVolumekeyframes to drop background music to 12% during speech and swell it to 35% during pauses and transitions.
3. π Retention Punch Zooms & Motion
Dynamic Attention Resets: Automatically alternates between wide (
1.0x) and punch-in (1.15x) keyframes (UNIFORM_SCALE) every 3β4 seconds to prevent viewer drop-off.
4. π‘ Viral Karaoke Word-by-Word Highlight Captions
Hormozi / MrBeast Typography: Takes word-level timestamps (Whisper, ElevenLabs) and highlights the active spoken word in
#FFD700(yellow) or#00FF66(green) with a heavy black outline (#000000FF).
5. πΌοΈ PiP Proof Overlays & Hook Headline Badges
Proof Overlays: Injects Amazon 5-star reviews, scientific study screenshots, or TikTok comment bubbles into corners (
top_right,top_left,center_pop) on Track 2 with smooth scaling and drop shadows.Hook Badges: High-contrast headline banners (e.g. "3 WARNING SIGNS", "DOCTOR REVEALS") pinned to top-center.
6. π‘οΈ Social Media Safe Zone Linter & Fast Proxy Previews
Safe Zone QC (
capcut_lint_safe_zones): Validates that text and overlays do not collide with TikTok / Instagram Reels UI elements (right-side like/comment icons, bottom username/sound banner).Fast Proxy Renderer (
capcut_render_preview_proxy): Stitches a lightweight 540x960 proxy MP4 in 2β4 seconds via FFmpeg for instant headless review.
7. π Multi-Language Cloner & Dubber
Instant EN $\to$ ES Localization: Clones an existing draft, keeps all visual cuts, B-roll timing, and cutout settings, while swapping the audio track and regenerating translated captions.
Related MCP server: CapCut MCP
Tools Reference (17 Tools)
Tool Name | Description |
| Enhances voiceover audio with noise reduction, clarity EQ, and |
| Creates a new vertical 9:16 (1080x1920) or landscape CapCut project. |
| Places video or avatar clips on the timeline with optional |
| Toggles CapCut's native portrait cutout ( |
| Adds voiceover, background music, or sound effects with custom volume. |
| Injects |
| Adds background music with automatic |
| Renders sentence subtitles into CapCut bold text tracks. |
| Renders active word-by-word highlight karaoke subtitles ( |
| Adds Amazon review or comment screenshots at corners ( |
| Pins headline warning pills and banners at top-center. |
| Validates layout against TikTok and Reels UI margins and checks missing media. |
| Clones draft visual composition and swaps audio/captions for localization. |
| Builds a fast 540x960 proxy preview MP4 via FFmpeg in 2β4 seconds. |
| High-level convenience tool: enhances audio, places avatar, layers B-roll, styles captions, and outputs the draft. |
| Lists all existing CapCut projects on disk with duration. |
| Inspects tracks, segments, durations, and materials of a draft. |
Setup Instructions
Prerequisites
Python 3.10+
FFmpeg & FFprobe on system
PATHCapCut Desktop (Windows or macOS)
Installation
git clone https://github.com/bchenner/capcut-mcp.git
cd capcut-mcp
# Install base dependencies
pip install -e .
# (Optional) Install neural voice isolation dependencies
pip install -e ".[neural]"Connecting to AI Agents
1. Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"capcut": {
"command": "python",
"args": ["-m", "capcut_mcp.server"],
"env": {
"PYTHONPATH": "/path/to/capcut-mcp/src"
}
}
}
}Or add globally via Claude Code CLI:
claude mcp add capcut -- python -m capcut_mcp.server2. Cursor / Windsurf
Add to your mcp.json settings:
{
"mcpServers": {
"capcut": {
"command": "python",
"args": ["-m", "capcut_mcp.server"],
"env": {
"PYTHONPATH": "C:/path/to/capcut-mcp/src"
}
}
}
}Python API Example
from capcut_mcp import CapCutDraft, improve_audio, render_draft_preview
# 1. Enhance speech audio
res = improve_audio("voiceover.wav", mode="fast", target_lufs=-14.0)
# 2. Build 9:16 vertical project
draft = CapCutDraft("Viral_Supplement_Ad", width=1080, height=1920, fps=30)
# 3. Add talking-head avatar with AI background removal
clip = draft.add_video_clip("avatar.mp4", start_ms=0, duration_ms=15000, smart_cutout=True, track_index=1)
# 4. Add dynamic punch zooms every 3.5s
draft.add_punch_zooms(clip["segment_id"], zoom_scale=1.15, interval_s=3.5)
# 5. Add B-roll background
draft.add_video_clip("broll.mp4", start_ms=0, duration_ms=15000, track_index=0)
# 6. Add background music with auto-ducking
music = draft.add_audio_clip("music.mp3", start_ms=0, duration_ms=15000, track_index=1)
draft.add_audio_ducking(
music_segment_id=music["segment_id"],
speech_intervals_ms=[{"start_ms": 1000, "end_ms": 6000}, {"start_ms": 7000, "end_ms": 14000}],
duck_volume=0.12,
normal_volume=0.35
)
# 7. Add PiP Amazon 5-star review proof overlay
draft.add_proof_overlay("amazon_5star.png", start_ms=3000, duration_ms=4000, position="top_right")
# 8. Add top hook warning badge
draft.add_hook_badge("WARNING: HIGH CORTISOL", start_ms=0, duration_ms=3500)
# 9. Lint for TikTok UI safe zones
report = draft.lint_draft(platform="tiktok")
print("Safe zone check:", report["passed"])
# 10. Save to CapCut Desktop
draft.save()
print("Draft ready in CapCut Desktop!")Testing
Run the comprehensive test suite verifying FFmpeg audio mastering, draft generation, motion keyframes, auto-ducking, karaoke captions, safe-zone linter, and proxy rendering:
python tests/test_mcp.pyLicense
MIT License Β© 2026 bchenner
Available Tools
17 toolscapcut_add_audio_clipC
Add an audio clip (clean voiceover, background music, SFX) to the CapCut draft.
Inputs: audio_path (required), draft_name (required), volume, start_ms, +3 more. Returns: result
capcut_add_bg_music_with_duckingB
Add background music with automatic volume ducking under speech.
speech_intervals_json: JSON string of [{"start_ms": 0, "end_ms": 3200}, ...]
duck_volume: volume while voice is speaking (default 0.12)
normal_volume: volume during pauses/music swells (default 0.35)
Inputs: draft_name (required), music_path (required), speech_intervals_json (required), start_ms, +3 more. Returns: result
capcut_add_captionsC
Add styled captions to the CapCut timeline. captions_json format: [{"text": "...", "start_ms": 0, "duration_ms": 1500}]
Inputs: draft_name (required), captions_json (required), preset. Returns: result
capcut_add_hook_badgeC
Add a high-contrast headline banner (e.g. '3 WARNING SIGNS' or 'DOCTOR WARNS') at top center above the avatar.
style: "red_badge", "yellow_pill", "clean_dark"
Inputs: draft_name (required), headline_text (required), style, start_ms, +1 more. Returns: result
capcut_add_karaoke_captionsC
Add viral Hormozi-style karaoke captions where the active spoken word lights up in bright gold/yellow (#FFD700) or electric green (#00FF66). word_timestamps_json: JSON string of [{"word": "Stop", "start_ms": 0, "end_ms": 250}, ...]
Inputs: draft_name (required), word_timestamps_json (required), highlight_color, words_per_chunk. Returns: result
capcut_add_proof_overlayB
Add an Amazon review screenshot, PubMed study proof, or TikTok comment bubble overlay.
position: "top_right", "top_left", "center_pop", "bottom_left"
scale: size relative to 1080x1920 canvas (default 0.45)
Inputs: start_ms (required), asset_path (required), draft_name (required), duration_ms (required), +2 more. Returns: result
capcut_add_punch_zoomsB
Add dynamic punch zooms (alternating between 1.0x and zoom_scale every interval_s) to a talking-head clip to maintain high viewer retention in short-form ads.
Inputs: draft_name (required), segment_id (required), interval_s, zoom_scale. Returns: result
capcut_add_video_clipC
Add a video or photo segment to the CapCut timeline.
smart_cutout: If True, activates CapCut's native AI portrait background removal (flag: 3). CapCut will automatically strip the background when opened or exported.
track_index: 0 for primary track, 1 for overlay/B-roll track.
Inputs: draft_name (required), video_path (required), scale, start_ms, +6 more. Returns: result
capcut_assemble_ugc_videoA
One-shot UGC assembly:
Pre-processes and improves voiceover audio (denoise, EQ, -14 LUFS).
Places avatar video clip (with optional smart portrait background removal).
Overlays B-roll clips on Track 2 per timestamps.
Ingests and renders styled TikTok bold captions.
Saves directly into CapCut Desktop draft folder for 1-click review/export.
Inputs: draft_name (required), avatar_video_path (required), captions_json, broll_clips_json, +3 more. Returns: result
capcut_clone_and_revoiceA
Clone a finished English draft into a Spanish (or localized) version: preserves all visual cuts, B-roll timing, and cutout settings, while swapping the voiceover audio and updating the captions.
Inputs: new_audio_path (required), new_draft_name (required), source_draft_name (required), new_captions_json. Returns: result
capcut_create_draftB
Create a new vertical (9:16) or landscape CapCut project draft on disk. Draft will be created in %LOCALAPPDATA%\CapCut\User Data\Projects\com.lveditor.draft.
Inputs: draft_name (required), fps, width, height. Returns: result
capcut_improve_audioB
Studio-grade vocal enhancement and loudness mastering for UGC videos.
mode: "fast" (FFmpeg highpass 80Hz + de-hiss + clarity EQ + -14 LUFS normalizer, ~1 sec) "neural" (Demucs vocal isolation to strip room noise/echo + mastering, ~5-15 sec)
target_lufs: Target streaming loudness (-14.0 LUFS is standard for TikTok/Reels/Meta ads). Returns JSON string with output file path, duration, and status.
Inputs: input_audio_path (required), mode, target_lufs, output_audio_path. Returns: result
capcut_inspect_draftB
Inspect timeline tracks, segments, and materials of a draft.
Inputs: draft_name (required). Returns: result
capcut_lint_safe_zonesA
Scan the draft to verify that captions, overlays, and badges do not collide with TikTok or Instagram Reels UI elements (right-side icons, bottom sound title). Also checks for missing media files on disk.
Inputs: draft_name (required), platform. Returns: result
capcut_list_draftsA
List all CapCut drafts found on this machine.
Inputs: no named parameters. Returns: result
capcut_render_preview_proxyA
Render a fast, lightweight 540x960 proxy preview MP4 directly from the draft spec using FFmpeg (~2-4 seconds), allowing agents/users to view the edit without launching CapCut.
Inputs: draft_name (required), output_mp4_path (required), width, height. Returns: result
capcut_set_background_removalB
Toggle background removal on an existing video clip in the CapCut draft.
mode: "smart_portrait" (CapCut's local AI model segments the person without a green screen) "chroma" (green screen removal with specified hex color and intensity) "off" (disables matting)
Inputs: draft_name (required), segment_id (required), mode, intensity, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 17 tools
Most tools target distinct operations (draft CRUD, clip/audio/caption insertion, audio mastering, background removal, linting, preview render). The only real overlap is between the one-shot capcut_assemble_ugc_video and the granular capcut_add_* / capcut_improve_audio / capcut_set_background_removal tools, but the 'one-shot' framing makes the boundary readable.
Every tool uses the capcut_ prefix followed by a snake_case verb_noun pattern (list_drafts, add_captions, set_background_removal, render_preview_proxy). No camelCase or mixed conventions; highly predictable.
17 tools is slightly above the ideal band but each maps to a genuine, non-redundant editing operation in a fairly complex video-automation domain. It leans heavy but is defensible rather than bloated.
The surface covers draft creation/inspection, media insertion, captions, overlays, audio mastering, localization, linting, and preview rendering. Notable gaps are delete operations (no remove_clip/delete_draft) and full final export, though CapCut Desktop is intended to handle export, so agents can work around these.
Related MCP Connectors
The agentic video editor for ChatGPT and Claude. Ask in your chat and it cuts, captions, adds music, titles and motion graphics on a real timeline you can open and adjust.
Open-source AI video editor: cut, caption, clip and animate real Revline projects from your agent.
CapCut MCP server for ChatGPT, Claude and any AI agent: list drafts, export draft, add auto captions, share draft for review, invite members to a space, set member role, transfer editing permission and search templates in your own CapCut account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to CapCut yourself; Cotlet does not store your password and you need no CapCut API key. About the official CapCut API: Partly. CapCut has an official plugin for the ChatGPT desktop app that builds drafts and adds captions, effects and templates (capcut.com, checked 6 Nov 2026). Setup and FAQ: https://cotlet.dev/integrations/capcut-api-mcp-server
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceAutomates CapCut video editing through an HTTP/MCP API, enabling draft creation, material addition (video, audio, text, images), effects, and AI-powered enhancements via natural language.96-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude Code to build and edit CapCut video projects locally by creating drafts, adding media and effects, and saving projects that open in CapCut desktop.2Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables typed, auditable control of CapCut Desktop through a localhost, token-authenticated bridge and bundled CapCut-side panel, covering project setup, media import and proxies, timeline and clip editing, transitions, text and auto-captions, audio mixing, effects and color, AI helpers, and video or thumbnail export. Also includes guided installation and environment verification plus a repeatable vlog assembly recipe.27 PyPIMIT
- AlicenseAqualityCmaintenanceEnables AI agents to programmatically edit CapCut Desktop and JianYing Pro projects by directly manipulating native draft files, supporting multi-track timelines, keyframing, transitions, subtitles, and headless previews.244MIT