capcut-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAPCUT_API_URL | No | The URL of the VectCutAPI backend. Override if you changed the port. | http://127.0.0.1:9001 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| capcut_create_draftA | Create a new CapCut/Jianying video draft (project). This must be called first — every other capcut_* tool needs the draft_id it returns. Args:
Returns: JSON including result.draft_id (string) — pass this to all subsequent add_*/save_draft calls. Example: Use when starting any new video project, e.g. "make a 9:16 short" -> width=1080, height=1920. |
| capcut_add_textA | Add a text element (title, caption, lower-third, etc.) to an existing draft's timeline. Args:
Returns: JSON confirming the text element was added, including which optional features were used. Don't use when: you need burned-in subtitles from an SRT file — use capcut_add_subtitle instead. |
| capcut_add_videoA | Add a video clip to an existing draft's timeline (e.g. as background footage or B-roll). Args:
Returns: JSON confirming the video clip was added to the timeline. |
| capcut_add_audioA | Add an audio clip (music, voiceover, sound effect) to an existing draft's timeline. Args:
Returns: JSON confirming the audio clip was added to the timeline. |
| capcut_add_imageB | Add a static image (photo, graphic, generated art) to an existing draft's timeline. Args:
Returns: JSON confirming the image asset was added to the timeline. |
| capcut_add_subtitleA | Import an SRT subtitle file into an existing draft, applying consistent styling and timing. Args:
Returns: JSON confirming the subtitle track was added. Don't use when: you only need a single one-off text overlay — use capcut_add_text instead. |
| capcut_add_effectB | Apply a visual effect or filter to an existing draft over a given time range. Args:
Returns: JSON confirming the effect was added. |
| capcut_add_stickerA | Place a sticker asset on an existing draft's timeline. Args:
Returns: JSON confirming the sticker was added. |
| capcut_add_video_keyframeA | Add property keyframes (scale, position, rotation, opacity, ...) to an existing track for animation. Args:
Returns: JSON confirming the keyframes were added. Example: animate a zoom-in — property_types=['scale_x','scale_y'], times=[0,2], values=['1.0','1.5']. |
| capcut_save_draftA | Save/finalize a draft so it can be opened in CapCut/Jianying. Call this last, after adding all desired tracks/effects. Args:
Returns: JSON including result.draft_url and/or the local draft folder path. Per VectCutAPI docs, saving generates a folder starting with 'dfd_' next to capcut_server.py — copy it into your CapCut/Jianying drafts directory to open it in the app. Note: safe to call multiple times on the same draft_id (re-saves with current state). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct resource/action: draft creation vs. individual media types (text, video, audio, image, subtitle, effect, sticker, keyframe) vs. save. Even text vs. subtitle are explicitly disambiguated with usage notes.
All tools share the 'capcut_' prefix followed by a consistent verb_noun structure (create_draft, add_text, add_video, save_draft). Naming is predictable and uniform.
10 tools is well-scoped for a video editing domain, covering the essential creation pipeline without bloat. Each tool earns its place.
The surface covers the full workflow from draft creation through adding all major asset types and finalizing. Minor gaps like deletion or editing of added elements exist, but are not core to the draft-building purpose.