MCP server for CapCut — removes silences and duplicate takes using auto-generated subtitles
SmartCut has 8 tools with explicit schemas and descriptions. Naming follows verb_noun convention (list_, open_, smart_cut_, edit_, split_, merge_, fix_, batch_edit_). Descriptions are present and moderately detailed (avg ~150 chars), explaining WHAT each tool does and key prerequisites (e.g., 'User must generate subtitles in CapCut first'). However, critical gaps exist: (1) Parameters lack type constraints and validation guidance, e.g., silence_threshold_sec and similarity_threshold have no min/max bounds, inviting invalid LLM inputs. (2) Output schemas are completely undocumented, tools return results but LLMs cannot plan downstream calls without knowing response structure. (3) Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. (4) Destructive operations (smart_cut_project, edit_subtitle, merge_subtitles) lack confirmation/dry-run patterns. (5) Batch tool (batch_edit_subtitles) accepts nested objects but the nested schema is incomplete (missing required field constraints). Per-tool scores range 45 - 70; average 58.
Apply multiple subtitle edits in one pass. Each edit can change text and/or timing. Each item needs segment_id, and optionally new_text, new_start_sec, new_duration_sec.
Edit subtitle text and/or timing in a CapCut project. Changing text clears word-level timing (words array). Use fix_word_timing afterwards if needed.
Fix word-level timing on a subtitle. All three arrays must be the same length.
List all CapCut projects in the drafts directory.
Merge two subtitles into one. Segment A absorbs segment B's text and timing.
Open an existing CapCut project and return its structure. Shows video segments, text tracks, and auto-generated subtitles.
Output schemas completely undocumented. Tools return results but LLMs cannot infer response structure (fields, types, nesting). Prevents downstream tool chaining and forces agents to guess at available data.
Numeric parameters lack bounds and validation constraints. silence_threshold_sec and similarity_threshold have no min/max; LLMs can pass negative, zero, or absurdly large values. No format guidance for project_path (absolute vs relative, OS-specific).
Destructive operations lack confirmation/dry-run pattern. smart_cut_project modifies projects IN PLACE with no backup; edit_subtitle, merge_subtitles, and batch_edit_subtitles are write operations with no undo or preview capability. Agents can cause data loss without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Smart cut a CapCut project: remove silences and duplicate takes. Reads CapCut's auto-generated subtitles to find gaps and duplicates. User must generate subtitles in CapCut first (Text → Auto Captions). Modifies the project IN PLACE (no backup). By default uses heuristic analysis (free, no API keys). Set use_openai=true for GPT-enhanced duplicate detection.
Split a subtitle into two at a given time point on the timeline.
No error handling guidance. Tools do not document retryability, user-fixable errors, or recovery paths. E.g., if project_path is invalid or subtitles are missing, what should the LLM do? No actionable error messages defined.
batch_edit_subtitles nested schema incomplete. The 'edits' array contains objects with segment_id (required) but new_text, new_start_sec, new_duration_sec are optional with no guidance on which combinations are valid. Ambiguous parameter relationships.