MCP server for CapCut Pro video editing API. Provides tools for creating and editing video projects programmatically.
Server has 13 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (capcut_create_draft, capcut_add_video, etc.). Most tools have detailed parameter descriptions with constraints (min/max, enums, patterns). However, several tools have minimal descriptions (capcut_add_image, capcut_add_sticker, capcut_add_effect are under 100 chars), and output schemas are documented in prose but not formally specified in the tool registration. Error handling is absent, no guidance on recovery, retryability, or actionable error messages. Tool composition is reasonable but some tools conflate concerns (capcut_add_text handles styling, positioning, and animation in one call). Missing idempotency guarantees and confirmation patterns for destructive operations.
Add animated text with preset animation and typography styles.
Add audio track to draft with volume and fade effects. This tool adds background music or sound effects to the video timeline. Args: - draft_id (string): The draft ID - audio_url (string): URL to audio file (mp3, wav, aac, m4a, flac, ogg) - start (number): Start time in seconds - end (number): End time in seconds - volume (number): Audio volume 0.0-1.0 (default: 1.0) - fade_in (number): Fade in duration in seconds (default: 0) - fade_out (number): Fade out duration in seconds (default: 0) - response_format ('markdown' | 'json'): Output format Examples: - Add background music: audio_url="https://...", volume=0.5 - Add with fade: fade_in=2, fade_out=2
Add visual effect to draft with intensity control.
Add image to draft with positioning, scaling, rotation, and animation effects.
Add keyframe animation to a track with property animations over time.
Minimal descriptions for 5 tools (capcut_add_image, capcut_add_sticker, capcut_add_keyframe, capcut_add_effect, capcut_save_draft, capcut_get_duration). Descriptions under 100 chars lack context for LLM tool selection. Pattern requires 10 - 1024 chars with WHAT, WHEN, and prerequisites.
No error handling or recovery guidance. Tools return success/failure but do not indicate retryability, user-fixable issues, or next steps. LLM cannot self-correct on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2025-06-18+ | v2 |
Add sticker to draft with positioning, scaling, and rotation.
Add SRT formatted subtitles to draft with styling options.
Add styled text overlay to video with positioning, colors, shadows, and animations. This tool creates text elements with full styling control including fonts, colors, backgrounds, shadows, and animations. Args: - draft_id (string): The draft ID - text (string): Text content to display (1-500 characters) - start (number): Start time in seconds - end (number): End time in seconds - font (string): Font family name (optional) - font_size (number): Font size 12-200 (default: 48) - font_color (string): Hex color e.g., #FFFFFF (default: #FFFFFF) - background_color (string): Background hex color (optional) - background_alpha (number): Background opacity 0.0-1.0 (default: 0.8) - shadow_enabled (boolean): Enable shadow (default: false) - shadow_color (string): Shadow hex color (default: #000000) - position_x (number): Horizontal position 0.0-1.0 (default: 0.5 center) - position_y (number): Vertical position 0.0-1.0 (default: 0.5 center) - animation (string): Animation effect (fade_in, slide_up, slide_down, slide_left, slide_right, zoom_in, bounce) - response_format ('markdown' | 'json'): Output format Examples: - Add title: text="Welcome", font_size=72, position_y=0.2, animation="fade_in" - Add subtitle: text="Subscribe!", font_size=36, background_color="#000000"
Add a video clip to an existing draft with timing, volume, and effects. This tool adds video content to the timeline with support for transitions, speed adjustments, and volume control. Args: - draft_id (string): The draft ID from create_draft - video_url (string): URL to video file (mp4, mov, avi, mkv, webm, flv) - start (number): Start time in seconds (>= 0) - end (number): End time in seconds (> 0) - volume (number): Audio volume 0.0-1.0 (default: 1.0) - transition (string): Optional transition effect (fade_in, fade_out, dissolve, wipe, slide, zoom) - speed (number): Playback speed 0.1-10x (default: 1.0) - response_format ('markdown' | 'json'): Output format Examples: - Add background video: draft_id="abc123", video_url="https://...", start=0, end=10 - Add with slow motion: speed=0.5 - Add with fade in: transition="fade_in"
Create a new video editing draft with specified dimensions and frame rate. This tool initializes a new draft project that can be edited by adding videos, audio, text, images, and effects. Args: - width (number): Video width in pixels (360-4096, default: 1920) - height (number): Video height in pixels (360-4096, default: 1080) - fps (number): Frames per second (24-120, default: 30) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: { "draft_id": string, // Unique draft identifier for subsequent operations "width": number, // Video width "height": number, // Video height "fps": number, // Frame rate "duration": number, // Current duration (starts at 0) "created_at": string // ISO timestamp } Examples: - Create HD draft: params with width=1920, height=1080 - Create vertical video: params with width=1080, height=1920 - Create 4K draft: params with width=3840, height=2160
Add word/phrase subtitle overlays to an existing CapCut draft with styling and animation.
Get duration and metadata of a media file from URL.
Save draft to disk and prepare for publishing to CapCut.
Output schemas documented in prose but not formally specified in tool registration. LLM cannot parse expected response structure to plan downstream calls or extract chaining IDs (e.g., draft_id for subsequent operations).
Destructive operations (capcut_save_draft, capcut_edit_draft_words) lack confirmation or dry-run patterns. Agents may accidentally overwrite or delete drafts without user approval.
capcut_add_text conflates multiple concerns: styling (font, color, shadow), positioning, and animation. Consider splitting into separate tools or offering a simpler variant for common cases.