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-serverAdd a subtitle track and background music to my current draft"
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 Desktop MCP Server & Agent Skills ๐ฌ
Enterprise-grade Model Context Protocol (MCP) server & Agent Skills for CapCut Desktop & JianYing Pro (ๅชๆ ).
Programmatic video editing, multi-track timeline construction, Quad Ease keyframing, and viral typography for Claude Desktop, Cursor AI, Google Antigravity, Cline, and Windsurf.
๐ Table of Contents
Related MCP server: CapCut MCP
๐ก Why CapCut MCP?
Traditional AI video editing attempts rely on brittle GUI automation: simulating mouse clicks, keystrokes, and window focusing that fail when UI elements shift or screen resolutions vary.
CapCut MCP takes an entirely different approach:
Direct AST Manipulation: It reads and writes directly to CapCut's native
draft_content.jsonAbstract Syntax Tree (AST).Instant & Deterministic: Timelines, multi-track sequences, cuts, speed ramps, and keyframes apply in milliseconds without opening the GUI.
Cross-Platform: Works natively with both CapCut Global and JianYing Pro (ๅชๆ ) on Windows and macOS.
Zero Window Focus: Edits run cleanly in the background while you continue working.
๐ Architecture & Direct AST Engine
User Prompt (e.g. "Cut dead air, add viral captions, punch zoom on keywords")
โ
โผ
AI Agent (Claude Desktop / Cursor / Antigravity)
โ
โผ (Model Context Protocol JSON-RPC)
capcut-mcp-server
โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
CapCut Path Resolver Media Probe (FFprobe) Draft Manager
(CapCut Global / JianYing) โ
โผ
Draft Builder
(Native AST Generator)
โ
โผ
CapCut Project Directory
(%LOCALAPPDATA%/CapCut/...)
โ
โผ
Native CapCut Project Readypaths.ts: Dynamically detects CapCut Global or JianYing Pro directories without hardcoded user paths.draft-builder.ts: Pure deterministic constructor for clips, keyframes, transitions, text materials, and multi-track audio.draft-manager.ts: High-level timeline orchestrator providing safe atomic file writes and project registration.preview-renderer.ts: Generates headless proxy MP4 previews via FFmpeg without launching the CapCut application.
โจ Key Features
๐ฌ 24 Atomic Video Editing Tools: Complete programmatic control over projects, multi-track timelines, transformations, speed scaling, audio fades, subtitles, and keyframes.
โก Multi-Track Orchestration: Base A-roll, overlay B-roll layers, background music with audio ducking (-12dB), sound effects, and text caption tracks.
๐ฅ Viral Typography Engine: Built-in support for high-retention short-form styles (Style 6 Glow Pop, Style 7 Hero Typography, -1.0 metric tracking, ambient drop shadows, and scale pop animations).
๐ Mathematical Keyframing & Easing: Quad Ease Out curves, kinetic punch-in zooms, smooth opacity transitions, and position pans.
๐ฏ Synchronized Subtitles: Parse and import standard SRT files directly into formatted native CapCut text layers.
๐ผ๏ธ Fast Headless Previews: Render fast proxy preview MP4s using FFmpeg without opening the CapCut GUI.
๐ค Production Agent Skills Included: Battle-tested prompt playbooks and references in
skills/capcut/covering Walter Murch's Rule of Six, B-roll sourcing, and Quad Easing.
๐ Quick Start
1. Global Installation (Recommended)
# Run directly via npx
npx capcut-mcp-server
# Or install globally via npm
npm install -g capcut-mcp-server2. Run from Source
git clone https://github.com/AiPersonacademy/capcut-mcp.git
cd capcut-mcp
npm install
npm run build
npm test
npm start๐ Client Configuration
Claude Desktop
Add this configuration to your claude_desktop_config.json:
{
"mcpServers": {
"capcut": {
"command": "npx",
"args": ["-y", "capcut-mcp-server"]
}
}
}Config file locations:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Cursor AI
Add to your .cursor/mcp.json or global MCP settings:
{
"mcpServers": {
"capcut": {
"command": "npx",
"args": ["-y", "capcut-mcp-server"]
}
}
}Google Antigravity
Add to your mcp_config.json:
{
"mcpServers": {
"capcut": {
"command": "node",
"args": ["<ABSOLUTE_PATH_TO_CAPCUT_MCP>/dist/src/index.js"]
}
}
}Windsurf & Cline
Configure the stdio command:
{
"mcpServers": {
"capcut": {
"command": "npx",
"args": ["-y", "capcut-mcp-server"]
}
}
}๐ ๏ธ MCP Tools Reference (24 Atomic Tools)
Tool Name | Category | Description | Key Parameters |
| Projects | Lists all local CapCut projects with duration, resolution, and track counts | None |
| Projects | Fetches the full timeline structure, tracks, media materials, and duration |
|
| Projects | Creates a new project draft with custom canvas dimensions (e.g. 1080x1920) |
|
| Projects | Duplicates an existing project draft under a new name |
|
| Projects | Safely deletes a project folder from CapCut storage |
|
| Projects | Launches CapCut Desktop or opens project directory in Explorer |
|
| Timeline | Inserts or appends a video clip onto any track index |
|
| Audio | Adds background music or voiceover with volume control |
|
| Audio | Inserts SFX (whooshes, pops, risers, impacts) at exact timestamps |
|
| Audio | Applies smooth fade-in and fade-out volume curves |
|
| Editing | Trims in/out source points and target duration of an existing clip |
|
| Editing | Splits a clip at an exact timeline timestamp |
|
| Editing | Removes a specific clip from a timeline track |
|
| Transform | Adjusts 2D position |
|
| Transform | Modifies speed multiplier (0.1x to 100.0x) with pitch preservation |
|
| Animation | Adds keyframe animation for scale, position, or opacity |
|
| Transitions | Adds native video transitions (dissolve, push, zoom, wipe) |
|
| Text | Injects static text, titles, or lower thirds |
|
| Text | Parses and imports complete SRT subtitle files into text tracks |
|
| Text | Adds viral dynamic caption with accent words and hover-pop animations |
|
| Graphics | Places graphic stickers or overlays on the timeline |
|
| Sequencing | Creates a multi-track sequenced project with video plates & audio ducking |
|
| Utilities | Probes video/audio resolution, duration, codecs, and framerate |
|
| Utilities | Generates a fast proxy preview MP4 via headless FFmpeg |
|
๐จ Viral Typography Engine
Short-form retention depends on visual stimulation and dynamic typography. CapCut MCP comes with pre-calibrated viral styles accessible via capcut_add_viral_caption:
Style 6: Glow Pop
Font: Montserrat ExtraBold / Impact
Primary Color: High-saturation electric yellow (
#FFE600) or lime (#00FF66)Stroke: Heavy black outline (
#000000, width12-16)Drop Shadow: Ambient soft blur
Pop Motion: Scale burst (1.15x -> 1.0x) over 120ms at word boundary
Style 7: Hero Typography
Character Spacing:
-1.0metric tracking (tight, cinematic feel)Casing: Uppercase
Shadow Offset:
(26, 26)with 85% opacityColor Accent: Single focal word highlighted in cyan (
#00E5FF) or electric magenta (#FF0055)
๐ค AI Agent Skills & Editorial Playbooks
This repository includes a dedicated Agent Skill located at skills/capcut/SKILL.md.
When connected to an AI agent, the agent can autonomously follow the Autonomous Editing Playbook:
Probe: Inspect raw files with
capcut_get_media_info.Scaffold: Create the project canvas with
capcut_create_project.Assemble A-Roll: Place primary speech clips on Track 0 with
capcut_add_video_clip.Synchronize Subtitles: Inject timed captions with
capcut_add_subtitlesor kinetic titles withcapcut_add_viral_caption.Overlay B-Roll: Insert relevant visual cutaways on Track 1 with punch-in zoom keyframes.
Sound Design: Add background music (ducked to -12dB) with
capcut_add_audio_clipand impact transients withcapcut_add_sound_effect.Review: Generate an instant proxy preview with
capcut_generate_previewor open CapCut Desktop withcapcut_open_app.
For comprehensive editorial reference manuals, see:
๐งช Testing & Quality Assurance
The test suite validates timeline calculations, AST segment generation, track collisions, speed scaling, and SRT subtitle ingestion:
npm testโถ CapCut MCP Server - Comprehensive Suite
โ SrtParser parses standard SRT format accurately (3.0ms)
โ DraftManager creates a 9:16 project and registers in root meta (46.1ms)
โ MediaProbe and addVideoClip with synthetic video (219.5ms)
โ DraftManager adds audio clip (133.6ms)
โ DraftManager sets clip transform (24.3ms)
โ DraftManager trims existing clip (16.4ms)
โ DraftManager adds transition to clip (27.2ms)
โ DraftManager adds keyframe to clip (16.5ms)
โ DraftManager adds sticker to project (25.0ms)
โ DraftManager renders fast proxy preview via ffmpeg (409.5ms)
โ DraftManager adds text overlays to a project (19.8ms)
โ DraftManager adds synchronized subtitles from SRT (22.8ms)
โ DraftManager splits an existing clip accurately (25.2ms)
โ DraftManager sets clip speed and preserves pitch (26.8ms)
โ DraftManager adds audio fade-in and fade-out (25.1ms)
โ DraftManager adds viral caption with Aeovisuals styling (23.4ms)
โ DraftManager creates video bridge draft (203.1ms)
โ DraftManager adds transient sound effect (96.8ms)
โ DraftManager duplicates a project (22.3ms)
โ DraftManager deletes a project safely (13.1ms)
โ CapCut MCP Server - Comprehensive Suite (2805ms)
โน tests 21 | pass 21 | fail 0๐ค Contributing
Contributions are warmly welcomed! Please see CONTRIBUTING.md for details on development workflow, code style, and PR submissions.
๐ License
Distributed under the MIT License. See LICENSE for details.
Available Tools
24 toolscapcut_add_audio_clipC
Adds background music, sound effects, or voiceover audio to an audio track.
| Name | Required | Description | Default |
|---|---|---|---|
| volume | No | Audio volume multiplier (1.0 = 100%, 0.5 = 50%, 2.0 = 200%). | |
| file_path | Yes | Absolute path to audio file on disk (.mp3, .wav, .m4a, etc.). | |
| track_index | No | Audio track index (0 = main audio, 1+ = secondary audio). | |
| duration_seconds | No | Duration in seconds. Defaults to entire audio file length. | |
| project_name_or_id | Yes | Target project name or ID. | |
| start_time_seconds | No | Start time on timeline in seconds, or 'auto_append' to append sequentially. | auto_append |
| source_start_seconds | No | In-point offset within the source audio file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It merely says 'adds' and does not explain whether the audio is inserted, appended, overlayed, or how it interacts with the existing timeline. It also omits any side effects, limitations, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It says what the tool does quickly and avoids redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, this description is too thin. It fails to mention default behavior, return values, how omitted parameters behave, or any operational constraints, leaving important context to be inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal semantic context by naming audio types, but it does not meaningfully expand on any of the seven parameters beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear action and resource: adds audio to an audio track, naming three audio types. However, it does not differentiate itself from the sibling capcut_add_sound_effect, which overlaps on sound effects, so the uniqueness is not fully established.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as capcut_add_sound_effect or capcut_add_audio_fade. There is no stated context, prerequisite, or exclusion that would help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_audio_fadeA
Adds smooth volume fade-in and/or fade-out envelopes to an audio track segment, eliminating abrupt audio cutoffs in background music or dialogue.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | UUID of the audio segment. | |
| fade_in_seconds | No | Fade-in duration in seconds (e.g. 1.5). | |
| fade_out_seconds | No | Fade-out duration in seconds (e.g. 2.0). | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly communicates that this is a mutating operation adding fades to an existing segment and why that is useful. However, it does not disclose whether existing fades are overwritten, how fade durations interact with segment length, or any other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the action, resource, and benefit with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity editing tool, the description plus fully documented schema provides enough to invoke it correctly. The main missing context is edge-case behavior (e.g., fade longer than the segment) and explicit sibling routing, but these are not prerequisites for a basic call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema documents all four parameters and their defaults. The description adds no parameter-level detail, but it does not need to because the schema fully covers what each value means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Adds'), a precise resource ('audio track segment'), and the concrete effect (volume fade-in/fade-out envelopes). This clearly separates it from siblings like capcut_add_audio_clip, which creates a segment, and capcut_add_sound_effect, which adds an effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'eliminating abrupt audio cutoffs in background music or dialogue' implies the intended use case, but the description gives no explicit when/when-not guidance or alternatives. An agent must infer that this tool is for adjusting an already-added audio segment rather than for adding or trimming audio.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_keyframeC
Adds an animation keyframe for scale, rotation, translation (x, y), or opacity to a video segment.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Value at keyframe (e.g. scale 1.2, x 0.1, alpha 0.5). | |
| property | Yes | Property to animate. | |
| segment_id | Yes | UUID of the video segment. | |
| project_name_or_id | Yes | Target project name or ID. | |
| time_offset_seconds | Yes | Time offset from segment start in seconds (e.g. 0.0 for start, 1.5 for mid-clip). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It confirms that a keyframe is added but does not disclose whether existing keyframes are overwritten, whether the operation is reversible, whether it requires a specific app state, or what happens after invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler. The core action, resource, and relevant properties are front-loaded, making the description easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, this description is too thin. It does not explain how to construct a complete animation, whether repeated keyframes are supported, what valid value ranges are, or what the tool returns or changes. An agent would need to inspect the schema and guess at behavioral conventions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters and their meanings. The description adds mild semantic grouping, mapping opacity to alpha and translation to x/y, but it does not provide meaningful extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Adds'), a specific resource ('animation keyframe'), and enumerates the animatable properties (scale, rotation, translation, opacity). It is clear enough to distinguish from sibling tools like capcut_set_clip_transform, though it does not explicitly name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as capcut_set_clip_transform or capcut_trim_clip. The description does not explain whether keyframes are needed for animation timelines, how multiple keyframes interact, or when a direct transform would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_sound_effectA
Drops a transient sound effect (whoosh, pop, click, riser impact) at an exact timeline timestamp, aligned with visual keyframes or text pops.
| Name | Required | Description | Default |
|---|---|---|---|
| volume | No | SFX volume multiplier (default 0.7). | |
| track_index | No | Audio track index for SFX (default track 1). | |
| sfx_file_path | Yes | Absolute path to sound effect audio file (.wav, .mp3). | |
| timestamp_seconds | Yes | Timeline timestamp in seconds where the SFX should trigger. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It states the action ('Drops a transient sound effect') and the placement ('at an exact timeline timestamp'), but does not clarify potential side effects such as whether the effect replaces existing audio, whether it requires the project to be open, or whether it mutates the project permanently. The description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and purpose, with examples that clarify the scope. Every word earns its place; no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward add-operation with all parameters documented, the description covers the essential context: what the tool does, what kind of files to use, and where the effect lands. It does not explain error conditions or prerequisites (e.g., project existence), but those are common to sibling tools and not critical for this simple action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema: it characterizes the SFX as 'transient' and mentions alignment with keyframes, but it does not elaborate on timestamp semantics or volume behavior beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Drops'), a specific resource ('transient sound effect'), and provides examples (whoosh, pop, click, riser impact) that clearly distinguish it from adding full audio clips. It also mentions the key use case of aligning with visual keyframes or text pops, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: for short, transient effects at exact timestamps, and the examples suggest alignment with visual events. However, it does not explicitly name alternatives like capcut_add_audio_clip or state conditions for choosing between them, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_stickerB
Adds an animated sticker or graphic element to the project timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal position [-1.0 to 1.0]. | |
| y | No | Vertical position [-1.0 to 1.0]. | |
| scale | No | Scale multiplier. | |
| track_index | No | Sticker track index. | |
| sticker_name | Yes | Name/tag of the sticker. | |
| duration_seconds | No | Duration in seconds. | |
| project_name_or_id | Yes | Target project name or ID. | |
| start_time_seconds | No | Start time on timeline in seconds, or 'auto_append'. | auto_append |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the sticker is added, but it does not explain timeline placement behavior, how 'auto_append' interacts with existing clips, what happens with track indexes, or failure behavior. For a mutating tool, this leaves too much unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, active, front-loaded sentence with no filler. It is appropriately concise for a single-purpose tool, though it sacrifices behavioral context that would make it more useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With eight parameters, no annotations, no output schema, and many sibling tools, this one-line description is not complete enough. It lacks guidance on where the sticker lands, how it behaves with auto_append, when to choose it over text or video tools, and what the agent should expect after the call succeeds or fails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all eight parameters and their defaults. The description adds no parameter-level semantics beyond the resource type, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('adds'), a clear resource ('animated sticker or graphic element'), and a location ('project timeline'). This distinguishes it from sibling tools such as capcut_add_text, capcut_add_audio_clip, or capcut_add_video_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: use this tool when adding a sticker or graphic overlay to the timeline. However, the description provides no explicit guidance about when not to use it or which sibling tool to prefer for similar visual overlays, such as capcut_add_text or capcut_add_subtitles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_subtitlesA
Batch adds synchronized subtitles / captions from an array of items, an SRT file path, or raw SRT string.
| Name | Required | Description | Default |
|---|---|---|---|
| y | No | Vertical position [-1.0 to 1.0]. -0.72 is ideal lower-third position. | |
| font_size | No | Subtitle font size. | |
| subtitles | No | Structured list of subtitle cues. | |
| text_color | No | Subtitle font color. | #ffffffff |
| srt_content | No | Raw SRT format text string. | |
| border_color | No | Subtitle border outline color. | #000000ff |
| border_width | No | Subtitle border outline width. | |
| srt_file_path | No | Absolute path to a .srt subtitle file on disk. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'batch adds' and does not explain side effects such as whether existing subtitles are replaced or appended, whether a project or media must exist first, or what happens when multiple subtitle sources are provided. This lack of behavioral context is a meaningful gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the core action and the main input alternatives. Every phrase contributes useful information, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation mutation tool with nine parameters and no output schema, the description is too thin. It omits operational context such as how multiple input sources are resolved, whether the operation appends or replaces existing subtitles, and what the expected result or return value is. The parameter schema covers parameter semantics but not the operation-level details needed for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by grouping the optional-input parameters into three meaningful modes: structured array, SRT file path, or raw SRT string. This clarifies that these parameters are alternative sources, which is not obvious from the schema alone, though it does not specify precedence if more than one is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('batch adds'), a clear resource ('synchronized subtitles / captions'), and the three supported input forms: array items, SRT file path, or raw SRT string. This makes the tool's function immediately evident and distinguishes it from sibling tools like capcut_add_text or capcut_add_viral_caption by emphasizing batch synchronization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when this tool is appropriate: when subtitles need to be added in batch from structured cues, an SRT file, or raw SRT text. However, it does not explicitly mention alternatives or state when not to use it, such as for a single text overlay.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_textC
Adds a customizable title, lower-third, or text overlay to a text track.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal position [-1.0 to 1.0]. 0 = center. | |
| y | No | Vertical position [-1.0 to 1.0]. Negative is lower third. | |
| text | Yes | Text content to display. | |
| alignment | No | Text alignment. | center |
| font_size | No | Font size (e.g. 12, 14, 18). | |
| text_color | No | Hex color with alpha (default #ffffffff white). | #ffffffff |
| track_index | No | Text track index. | |
| border_color | No | Stroke/outline color (default #000000ff black). | #000000ff |
| border_width | No | Outline border width (0.0 to 0.2). | |
| duration_seconds | No | Duration in seconds (default 3s). | |
| project_name_or_id | Yes | Target project name or ID. | |
| start_time_seconds | No | Start time in seconds, or 'auto_append'. | auto_append |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that text is added, but does not reveal whether existing text tracks are modified, whether the project must be open, what happens if track_index is out of range, or whether the operation is reversible. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler. The verb is front-loaded and the three overlay types are listed compactly, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters, no output schema, and no annotations, this description is too sparse. It explains neither when to use the tool relative to siblings nor behavioral side effects, even though the schema covers parameter details. An agent would need to infer usage context from the parameter names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 12 parameters. The description adds a light semantic layer by grouping them under 'customizable title, lower-third, or text overlay', but it does not elaborate on any specific parameter meanings beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Adds') and resource ('text track') and names three concrete output types (title, lower-third, text overlay), so the core purpose is clear. However, it does not differentiate from sibling tools like capcut_add_subtitles or capcut_add_viral_caption, which likely also add text elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as capcut_add_subtitles or capcut_add_viral_caption. There are no prerequisites, exclusions, or context cues to help an agent pick the right text-adding tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_transitionA
Adds a transition effect (e.g. Dissolve, Fade to Black, Fade to White, Zoom In) between clips on a video track.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | UUID of the video segment to attach the transition to. | |
| transition_name | No | Name of the transition effect. | Dissolve |
| duration_seconds | No | Transition duration in seconds (default 0.5s). | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It only says 'Adds' and gives examples, without explaining side effects on existing transitions, whether the operation is reversible, or what the tool returns after invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler. The example list is slightly redundant with the schema enum but still aids readability without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for selecting the tool and invoking it with schema-documented parameters, but incomplete for edge cases: no annotations and no output schema mean the description should also note what the result is or what conditions are required for a valid transition between clips.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The examples in the description overlap with the transition_name enum but do not add meaningful semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Adds') and resource ('transition effect') with clear placement context ('between clips on a video track'). The examples clarify common variants and distinguish it from sibling editing tools such as add_video_clip, trim_clip, and add_text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The condition for using this tool is implied: you use it when you want a transition between clips on a video track. However, it does not explicitly state when not to use it, name alternatives, or mention prerequisites such as having two adjacent clips.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_video_clipB
Adds a video or image file to a CapCut video track. Media metadata (duration, resolution) is automatically probed.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal position offset normalized [-1.0 to 1.0]. 0.0 is center. | |
| y | No | Vertical position offset normalized [-1.0 to 1.0]. 0.0 is center. | |
| scale | No | Scale multiplier (1.0 = 100%). | |
| opacity | No | Opacity/alpha from 0.0 to 1.0. | |
| rotation | No | Rotation in degrees. | |
| file_path | Yes | Absolute path to the video or image file on disk. | |
| track_index | No | Track index (0 = main track, 1+ = overlay / PIP tracks). | |
| duration_seconds | No | Clip duration in seconds. Defaults to full media length (or 3s for images). | |
| project_name_or_id | Yes | Target project name or ID. | |
| start_time_seconds | No | Start time on timeline in seconds, or 'auto_append' to append sequentially. | auto_append |
| source_start_seconds | No | Starting in-point within the source file in seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that media metadata is 'automatically probed', which is a useful behavioral detail beyond the schema. However, it does not mention mutation side effects, reversibility, or required project state. Given the lack of annotations, this is a minimal but not complete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant wording. The core action and a key behavioral note (metadata probing) are front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters, but all are covered by the schema, the description is adequate for invocation. However, it lacks guidance on when to use it (e.g., vs. adding audio/text), and there is no mention of expected output or errors. For a mutation tool with no annotations, a bit more context would be helpful, but it's not severely incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters are already documented in the input schema. The description adds no parameter-level details beyond that. According to the rubric, baseline is 3 for high coverage, and this is appropriately scored.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Adds a video or image file to a CapCut video track.' This is a specific verb and resource, and it is distinct from audio/text tools in the sibling list. However, it does not explicitly differentiate from alternatives like capcut_add_audio_clip, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any conditions, exclusions, or prerequisites (e.g., project must be open, file must exist). Siblings like capcut_add_audio_clip or capcut_add_text are not referenced, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_add_viral_captionB
Injects Aeovisuals-calibrated viral typography with -1.0 metric kerning, 26/26 diffuse ambient shadow, custom font, power word scaling/color contrast, and optional Quad Ease hover-up pop keyframes.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal offset [-1.0 to 1.0]. 0.0 is center. | |
| y | No | Vertical offset [-1.0 to 1.0]. Default -0.65 (standard lower-third). | |
| text | Yes | The caption text content. | |
| font_size | No | Base font size. | |
| font_family | No | Font superfamily (Montserrat/Poppins recommended for viral videos). | Montserrat |
| power_words | No | Specific keywords to emphasize with 1.4x scale and power accent color (e.g. ["10 MILLION", "MONEY"]). | |
| track_index | No | Text track index. | |
| accent_color | No | Hex accent color for power words (default #FF1E27 Crimson, or #FFD700 Gold). | #FF1E27 |
| duration_seconds | No | Display duration in seconds. | |
| enable_hover_pop | No | If true, automatically keyframes a 5-frame snappy hover-up pop from floor to baseline with opacity fade. | |
| project_name_or_id | Yes | Target project name or ID. | |
| start_time_seconds | No | Start time in seconds or 'auto_append'. | auto_append |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It discloses specific visual behaviors such as -1.0 kerning, 26/26 diffuse ambient shadow, power word scaling/color contrast, and optional Quad Ease hover-up keyframes. However, it does not clarify operational side effects like whether a new text track is created, whether an existing caption is modified, or whether an open project is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler, front-loading the core purpose before enumerating specific stylistic behaviors. It earns its place, though the heavy use of hyphenated jargon reduces readability slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with 12 parameters and no output schema or annotations. The description explains the aesthetic configuration well but omits usage context, prerequisites, alternative selection guidance, and expected result information. It is adequate for understanding what styling will be applied, but not fully complete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds some conceptual color by mentioning custom fonts, power word contrast, and hover-pop keyframes, matching parameters like font_family, power_words, accent_color, and enable_hover_pop, but it does not materially improve on the schema's already thorough parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Injects') and identifies the resource ('Aeovisuals-calibrated viral typography'), making it clear that this tool adds a stylized caption. It is distinguishable from generic siblings like capcut_add_text and capcut_add_subtitles by the explicit viral-typography styling, though it relies on jargon rather than a plain statement like 'adds a caption.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over capcut_add_text or capcut_add_subtitles, and no alternative tools are mentioned. The intended use is only implied by the name and styling terms, so an agent is left to infer when 'viral typography' is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_create_projectA
Creates a brand new CapCut project draft with canvas resolution and frame rate, registered directly into CapCut Desktop.
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Frame rate (typically 30 or 60). | |
| name | Yes | Project name (alphanumeric, spaces, underscores). | |
| ratio | No | Aspect ratio: 9:16 (TikTok/Reels/Shorts), 16:9 (YouTube), 1:1 (Square). | 9:16 |
| width | No | Custom canvas width in pixels (e.g. 1080). | |
| height | No | Custom canvas height in pixels (e.g. 1920). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It adds useful context by stating the project is created as a draft and registered directly into CapCut Desktop. However, it does not disclose whether duplicate names are allowed, whether the desktop app must be running, or what side effects occur after creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that front-loads the action and includes only decision-relevant qualifiers: 'brand new', 'draft', and 'registered directly into CapCut Desktop'. There is no filler or redundant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward creation tool, the description captures the core outcome and desktop integration. However, with no output schema and no annotations, an agent is left without information about the return value, error conditions, or behavior when CapCut Desktop is not available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the input schema. The description mentions canvas resolution and frame rate, which map to ratio/width/height and fps, but it adds no semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('creates'), a specific resource ('brand new CapCut project draft'), and key attributes (canvas resolution, frame rate, registered directly into CapCut Desktop). This clearly distinguishes it from sibling tools like capcut_list_projects, capcut_get_project, or capcut_duplicate_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'brand new project draft' implies this tool is for starting from scratch, and the sibling list shows alternatives. However, the description does not explicitly say when to prefer it over duplicating an existing project or opening CapCut, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_create_video_bridgeA
Orchestrates the Direct Video Track Bridge: creates a CapCut draft around a pre-rendered 60 FPS master video plate (Remotion/WebGL), separates multi-track audio, and auto-imports subtitles into editable tracks.
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Canvas frame rate (default 60fps for high-end motion). | |
| ratio | No | Canvas aspect ratio. | 9:16 |
| audio_tracks | No | Audio tracks to inject. | |
| project_name | Yes | Target project name. | |
| video_plate_path | Yes | Absolute file path to pre-rendered master video plate (.mp4). | |
| subtitles_srt_path | No | Optional SRT file path to import as editable subtitles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavior itself. It clearly states that it creates a draft, separates audio, and imports subtitles, which are valuable behavioral details. However, it does not disclose prerequisites (e.g., whether CapCut must already be open), handling of existing projects, side effects, or failure behavior, leaving notable transparency gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with three clearly related behavioral clauses and little waste. It is front-loaded with the domain name and outcome. The parentheticals '(Remotion/WebGL)' and 'Direct Video Track Bridge' add mild jargon, but overall the description is appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter orchestration tool with no annotations and no output schema, the description covers the main workflow but leaves practical questions unanswered, such as whether the CapCut app must be running, whether an existing project with the same name is overwritten, and what result or artifact the agent can expect. It is adequate but not complete enough for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters. The description adds framing by linking the video_plate_path to a 60 FPS master plate and subtitles_srt_path to editable subtitles, but it does not provide deeper per-parameter meaning. A baseline 3 is appropriate because the schema carries the load without contradiction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it 'creates a CapCut draft around a pre-rendered master video plate,' 'separates multi-track audio,' and 'auto-imports subtitles.' This clearly distinguishes it from granular siblings like capcut_create_project, capcut_add_video_clip, and capcut_add_subtitles by framing it as an orchestrator. The 'Direct Video Track Bridge' label is somewhat niche, but the action and outcome are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys a clear use context: use this when you already have a pre-rendered 60 FPS master video plate and need to wrap it into a CapCut draft with separated audio and editable subtitles. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_delete_projectA
Deletes a CapCut project folder and unregisters it from CapCut. Requires explicit confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | Must be set to true to confirm deletion. | |
| project_name_or_id | Yes | Name or UUID of the project to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the destructive scope (deletes folder, unregisters it) and explicitly requires confirmation. It stops short of stating that deletion is permanent or cannot be undone, but 'deletes' strongly implies this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tight sentence with no filler. The action, target, and safety requirement are all front-loaded, making it immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter tool with no annotations and no output schema, the description covers the target, the effect, and the necessary confirmation guard. Minor gaps remain around permanence and success/failure behavior, but the agent has enough to invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description only reinforces the confirmation requirement and adds no new detail about name_or_id format or confirm behavior beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Deletes') and a specific resource ('CapCut project folder'), and adds the unregister effect. This clearly distinguishes it from clip-level operations like capcut_remove_clip and from project-creation tools like capcut_create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the verb and resource, and the confirmation requirement is a safety prerequisite. However, the description does not explicitly say when to choose this over alternatives, nor does it name any exclusions or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_duplicate_projectA
Duplicates an existing CapCut project to a new draft with fresh IDs (ideal for creating variations or backups).
| Name | Required | Description | Default |
|---|---|---|---|
| new_name | Yes | Name for the cloned project. | |
| source_project | Yes | Name or UUID of the project to copy from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that the duplicate gets 'fresh IDs' and is a 'new draft,' which implies non-destructive creation. However, it does not mention behavior on missing source projects, name collisions, or whether any existing media references are preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the action, result, and use case efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the core behavior and a typical use case. Minor gaps around duplicate naming conflicts and return values do not prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters already have clear descriptions ('Name for the cloned project' and 'Name or UUID of the project to copy from'). The description adds no meaningful param-level detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Duplicates') with a clear resource ('existing CapCut project') and outcome ('to a new draft with fresh IDs'). It clearly distinguishes this from sibling tools like capcut_create_project or capcut_get_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives helpful context with 'ideal for creating variations or backups,' suggesting when an agent should use it. However, it does not explicitly exclude or compare it against alternatives such as capcut_create_project when starting fresh.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_generate_previewA
Renders a fast proxy preview video (.mp4) of a CapCut project using ffmpeg without needing to export from the GUI.
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Render framerate (defaults to project fps, e.g. 30). | |
| width | No | Custom render width (defaults to project canvas width). | |
| height | No | Custom render height (defaults to project canvas height). | |
| output_path | No | Optional custom destination path for the rendered mp4. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully discloses that the output is a fast proxy preview .mp4, uses ffmpeg, and avoids GUI export. However, it does not state whether the project is modified, what the tool returns (e.g., a rendered file path), or where the preview is written when output_path is omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every clause earns its place: it states the action, the output format, the target resource, the rendering mechanism, and the key benefit over GUI export.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers parameters and the description gives the core use case, so invocation is mostly clear. However, with no output schema and no annotations, the description leaves unspecified the return value, the default output destination when output_path is absent, and whether the CapCut app must be open or the project loaded for the render to succeed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-level detail beyond what the schema already provides, such as default resolution or default output location, but it does not need to since the schema documents all five parameters clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Renders'), a specific resource ('proxy preview video (.mp4) of a CapCut project'), and a mechanism ('using ffmpeg'). It clearly distinguishes this from the sibling tools by focusing on preview rendering rather than project management, media info, or editing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: generate a fast preview without performing a full GUI export. It provides context for when the tool is appropriate, though it does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_get_media_infoA
Inspects video or audio file technical parameters (duration, width, height, fps, codec) using ffprobe.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Absolute path to video, image, or audio file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure, and it does convey that this is a non-destructive inspection operation backed by ffprobe. However, it says nothing about failure behavior (missing file, unsupported format, corrupt media), the return shape, or the external ffprobe dependency beyond naming it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb, names the resource, and lists concrete output fields. There is no filler, redundancy, or self-evident repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only inspection tool this is mostly adequate: purpose, method, and key returned parameters are covered. But with no output schema and no annotations, the description should address error cases and the set of supported file types (it omits images, which the schema includes), and it leaves the agent guessing about the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already documents file_path as an absolute path to video, image, or audio file. The description adds no parameter-level meaning beyond what the schema states, so the high-coverage baseline of 3 applies. Note a minor inconsistency: the description mentions only video/audio while the schema includes images.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspects') and identifies a precise resource (technical parameters of video/audio files) while enumerating the actual fields returned (duration, width, height, fps, codec). It is clearly distinguished from all siblings, none of which perform media inspection; an agent can separate it from capcut_get_project or capcut_list_projects without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, no prerequisites (e.g., verifying the file exists or that ffprobe is installed), and no exclusions. Usage context such as 'inspect media before adding it to a project' is only implied by the tool's nature, never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_get_projectA
Fetches the complete timeline structure, tracks, media materials, and duration of a CapCut project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_name_or_id | Yes | The name of the project folder or the UUID draft ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly states the behavioral action ('fetches'), implying a read-only operation with no side effects. However, it does not disclose potential error behavior (e.g., what happens if the project is not found) or any other operational traits. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the primary action and enumerates the returned data. There is zero waste or redundancy; every phrase contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (single parameter, no output schema, no annotations), the description is largely complete: it states the purpose and lists the data returned. It could be enhanced by explicitly noting its read-only nature or any preconditions, but the current description covers the essential information an agent needs to decide whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the parameter descriptions, so the baseline is 3. The tool description does not add any additional meaning for the parameter 'project_name_or_id' beyond the schema's own description. No extra value is provided in the description for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('fetches'), a clear resource ('a CapCut project'), and enumerates exactly what is returned (timeline structure, tracks, media materials, duration). It distinguishes itself from siblings like capcut_list_projects (listing projects) and capcut_get_media_info (media details of a clip) by describing a complete content retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need the complete timeline structure or project content. It does not explicitly state when not to use it or name alternative tools, but the purpose is clear enough for an agent to infer suitable contexts. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_list_projectsA
Lists all CapCut video projects on this computer, including duration, resolution, track counts, and lock status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clarifies the operation is non-destructive ('Lists') and that it operates on local projects, and it tells the agent what fields are returned. However, it does not disclose edge cases like an empty project list, ordering, or whether the CapCut app must be running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the core action immediately and packs relevant return-value details into a short phrase. Every word adds information, and there is no repetition of the tool name or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation, the description is nearly complete: it names the resource, scope, and returned fields. Because there is no output schema, the description's mention of duration, resolution, track counts, and lock status is valuable; minor omissions like empty-list behavior are acceptable for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are trivial. The schema coverage is vacuously 100%, and the description correctly avoids inventing parameters. Baseline 4 is appropriate since there is no parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Lists all CapCut video projects on this computer'. It also states the key returned fields (duration, resolution, track counts, lock status), which makes the tool's purpose unmistakable and distinguishes it from singular tools like capcut_get_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for enumerating all local projects, but it does not explicitly state when to choose it over alternatives such as capcut_get_project or capcut_get_media_info. There is no guidance about when not to use it or what prerequisites might exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_open_appA
Launches CapCut Desktop on Windows or opens the project folder in Windows Explorer.
| Name | Required | Description | Default |
|---|---|---|---|
| project_name_or_id | No | If specified, opens this specific project folder in Windows Explorer. Otherwise launches CapCut application. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clearly discloses what the tool does: launch the desktop application or open a project folder in Explorer. It could mention that no project data is modified, but the described actions are simple and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence covers both behaviors cleanly and front-loads the main action. There is no wasted wording or redundant elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one optional parameter, no output schema, and no nested objects. The description plus schema fully cover what an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter meaning is already documented in the input schema. The tool description mirrors this conditional behavior without adding new meaning beyond what the schema provides, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it launches CapCut Desktop on Windows or opens a project folder in Windows Explorer. The two distinct behaviors are clearly stated, separating this tool from the other CapCut project manipulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit conditional usage context: specifying project_name_or_id opens that folder, otherwise the app launches. It does not explicitly discuss alternatives or exclusions, but the behavior is clear enough to guide an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_remove_clipB
Deletes a specific segment from a project track by its segment ID.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | UUID of the segment to delete. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly indicates the destructive nature and scope ('from a project track'), but it does not say whether deletion is permanent/reversible, whether adjacent segments are affected, or what happens if the segment ID is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, action-first, with no filler. Every phrase adds value: the operation, the target resource, and the identifying key.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema fully defines the two required parameters, so an agent can construct a valid call. However, with no annotations, no output schema, and no caveats about permanence or failure behavior, the description is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents both parameters. The description mentions segment_id as the deletion criterion, matching the schema, but adds no additional parameter semantics beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a strong verb ('Deletes') and identifies the exact resource ('a specific segment from a project track') and lookup key ('segment ID'), so an agent can distinguish it from editing tools like trim or split and from delete_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement about when to use this tool vs alternatives or when not to. It implies the use case through semantics but does not mention, for example, that capcut_trim_clip should be used to shorten a clip instead, or that the project must be open/openable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_set_clip_speedA
Sets playback speed multiplier (e.g. 0.5x slow-mo, 1.25x talking head, 2.0x time-lapse) with optional pitch preservation so voices do not sound like chipmunks.
| Name | Required | Description | Default |
|---|---|---|---|
| speed | Yes | Speed multiplier (e.g. 0.5 for half speed, 1.2 for faster speech, 2.0 for double speed). | |
| segment_id | Yes | UUID of the video or audio segment. | |
| preserve_pitch | No | If true, preserves original audio pitch when altering speed. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden. It adds useful context about pitch preservation and the effect on voices, but it does not mention whether the change is reversible, whether it applies to both video and audio tracks, or what the agent can expect after calling the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core action and uses concrete examples. Every element earns its place, and there is no redundant or generic filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately simple mutation tool with all parameters fully documented and no output schema, the description covers the essential behavior and the key optional behavior (pitch preservation). It is slightly incomplete in that it does not set expectations for post-call results, but the core information an agent needs to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds illustrative examples for the speed parameter and explains why preserve_pitch matters, but it does not add significant meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb ('Sets playback speed multiplier') and a clear resource ('clip'), with concrete examples that make the operation unmistakable. It is easily distinguished from siblings like trim_clip or add_transition, which target different editing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical examples of when to use various speeds (slow-mo, talking head, time-lapse), which implies usage context. However, it does not explicitly state when not to use this tool or how it compares to alternatives like trim_clip or add_audio_fade.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_set_clip_transformB
Adjusts scale, rotation, translation position (x, y), or opacity of an existing clip.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Horizontal position [-1.0 to 1.0]. | |
| y | No | Vertical position [-1.0 to 1.0]. | |
| alpha | No | Opacity from 0.0 to 1.0. | |
| scale | No | Scale factor (1.0 = 100%). | |
| rotation | No | Rotation in degrees. | |
| segment_id | Yes | UUID of the segment. | |
| project_name_or_id | Yes | Target project name or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full behavioral disclosure burden. It says 'adjusts' but does not clarify whether values are absolute or cumulative, whether unspecified properties remain unchanged, or whether prior transforms/keyframes are affected. This ambiguity is significant for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every word earns its place: the verb, target resource, and the affected transform properties are all immediately visible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no output schema, a one-sentence description is thin. Missing context includes absolute vs relative semantics, behavior of omitted parameters, and what the agent can expect as a success signal or result. The complete parameter schema helps but does not resolve these behavioral gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters and their ranges/units. The description maps broad categories (scale, rotation, position, opacity) onto the schema, but adds no new meaning beyond what the structured input already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Adjusts'), names the resource ('an existing clip'), and lists the exact transform properties (scale, rotation, x/y position, opacity). This clearly distinguishes it from transform-related siblings like capcut_set_clip_speed or capcut_trim_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as capcut_add_keyframe for animated transforms or capcut_set_clip_speed for speed adjustments. The only implied usage is that the clip must already exist, but this is not stated as a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_split_clipA
Splits a video, audio, or text clip into two linked segments at an exact timeline timestamp (the timeline razor / blade tool). Essential for cutting out pauses, pacing edits, or inserting B-roll.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | UUID of the segment to split. | |
| project_name_or_id | Yes | Target project name or ID. | |
| split_time_seconds | Yes | Timeline timestamp in seconds where the razor cut should occur. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses that the result is two linked segments at an exact timestamp, which is beyond a generic 'split' statement. However, it does not mention reversibility, whether any content is lost, or what happens if split_time_seconds falls outside the clip's duration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the core action, then adds a clarifying metaphor and practical use cases. Every clause earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple tool with fully covered parameters, the description provides enough for an agent to understand the operation and its purpose. It does not explain the return value or edge cases, but the missing details are minor given the schema's completeness and the operation's straightforward nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description adds minor context about exact timeline timing, but it does not materially enhance the parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Splits') with a specific resource ('a video, audio, or text clip') and a precise mechanism ('timeline razor / blade tool'). It clearly differentiates this from sibling operations like trim_clip or remove_clip by describing the split-into-linked-segments behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear use cases: cutting out pauses, pacing edits, and inserting B-roll. It does not explicitly name alternatives or state when not to use it, but the context is strong enough for an agent to select this tool for split operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capcut_trim_clipB
Adjusts the timeline start time or duration of an existing segment by its segment ID.
| Name | Required | Description | Default |
|---|---|---|---|
| segment_id | Yes | UUID of the segment to trim. | |
| new_start_seconds | No | New start time in seconds. | |
| project_name_or_id | Yes | Target project name or ID. | |
| new_duration_seconds | No | New duration in seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool mutates an existing segment but does not mention side effects, reversibility, required permissions, or what happens if neither new_start_seconds nor new_duration_seconds is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It efficiently communicates the core operation and target resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers parameter details and the description covers the basic operation, making this minimally viable. However, with no output schema and no annotation support, the lack of guidance on optional parameters and expected behavior prevents a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description adds little beyond the schema, and it does not clarify the relationship or constraints between new_start_seconds and new_duration_seconds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('Adjusts') and resource ('timeline start time or duration of an existing segment by its segment ID'), which clearly conveys the operation. It is distinguishable from siblings like capcut_split_clip and capcut_remove_clip, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternatives such as capcut_split_clip or capcut_set_clip_speed. It implies usage by describing the operation, but provides no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
24 tool updates
v1.0.0- First observed
capcut_add_audio_clip - First observed
capcut_add_audio_fade - First observed
capcut_add_keyframe - First observed
capcut_add_sound_effect - First observed
capcut_add_sticker - First observed
capcut_add_subtitles - First observed
capcut_add_text - First observed
capcut_add_transition - First observed
capcut_add_video_clip - First observed
capcut_add_viral_caption - First observed
capcut_create_project - First observed
capcut_create_video_bridge - First observed
capcut_delete_project - First observed
capcut_duplicate_project - First observed
capcut_generate_preview - First observed
capcut_get_media_info - First observed
capcut_get_project - First observed
capcut_list_projects - First observed
capcut_open_app - First observed
capcut_remove_clip - First observed
capcut_set_clip_speed - First observed
capcut_set_clip_transform - First observed
capcut_split_clip - First observed
capcut_trim_clip
TDQS
Scored across 24 tools
Each tool targets a distinct action on a distinct entity (project, clip, audio, text, effect). The few related categories (text vs subtitles vs viral caption; audio clip vs sound effect vs fade) are clearly differentiated by descriptions. No two tools appear to do the same job.
All 24 tools follow a uniform `capcut_<verb>_<noun>` snake_case convention. Verbs are consistent (get, list, create, add, set, remove, split, etc.) and nouns clearly identify the target. No mixed casing or stylistic inconsistencies.
At 24 tools, the server is on the heavier side but the CapCut editing domain is broad enough to justify the count. Each tool serves a specific editing or project-management function, and there's no obvious redundancy. Slightly above the ideal 3-15 range but not bloated.
The tool surface covers project lifecycle (create, read, duplicate, delete), clip management (add, remove, trim, split, speed, transform, keyframe), and media additions (audio, text, subtitles, stickers, transitions, SFX). Some minor gaps like setting audio volume directly or a final export tool, but core editing workflows are supported and workarounds exist.
Maintenance
Related MCP Connectors
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
AI-native video editing OS โ timeline editing, generation, color, and export as MCP tools.
AI editor to build, animate & export layered short-form video projects via one tool catalog.
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
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 gradedqualityCmaintenanceEnables 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.1Apache 2.0
- FlicenseAqualityCmaintenanceCreates and edits CapCut desktop drafts locally by writing project files, enabling timeline manipulation through MCP tools.7-
- AlicenseNot gradedqualityCmaintenanceEnables LLM agents to read and edit local CapCut desktop projects directly, with an ffmpeg-based preview loop to verify edits before committing.1MIT