capcut-mcp
This server allows programmatic creation and editing of CapCut desktop video drafts by manipulating local project files (draft_content.json and draft_meta_info.json), which can then be opened in CapCut for preview and export.
Create & manage drafts
create_draft— Initialize an empty project with a custom name, canvas size (default 1080×1920), and frame rate (default 30fps)list_drafts— Browse all drafts in the local CapCut drafts folderget_draft— Retrieve a full timeline summary including tracks, segments, timings, and total duration
Add media
add_video— Insert a video file with control over position (x,y), scale, rotation, volume, timeline placement (atSeconds), clip duration, and source start offset; duration/dimensions are auto-detected viaffprobeadd_image— Place a still image with configurable on-screen duration (default 5s), position, scale, and rotationadd_audio— Attach music or voiceover with volume control, timeline positioning, and source trimmingadd_text— Insert text captions/titles with control over content, color, font size, position, scale, rotation, and display duration (default 3s)
Automatic track management — Segments append to the end of their track by default; overlapping segments are automatically placed on a new track so overlays work seamlessly.
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 Create a draft called 'My Video' and add a 10-second video clip"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
capcut-mcp
MCP server that creates and edits CapCut desktop drafts locally. CapCut has no public API, so this server writes the project files CapCut reads from disk (draft_content.json + draft_meta_info.json). You build the timeline through MCP tools and then open the project in CapCut desktop to preview and export.
Tools
Tool | Description |
| Creates an empty draft (default canvas 1080x1920 @ 30fps) |
| Lists drafts in the drafts folder |
| Returns the timeline: tracks, segments, timings |
| Adds a video clip (duration/dimensions detected via ffprobe) |
| Adds a still image (default 5s on screen) |
| Adds music or voiceover to an audio track |
| Adds a text overlay with color, size and position |
Placement rules: segments append to the end of their track by default (atSeconds overrides). If a segment overlaps an existing one, a new track is created automatically, so overlays "just work".
Related MCP server: Arkeonix CapCut MCP
Setup
pnpm install
pnpm buildRegister in Claude Code:
claude mcp add --scope user capcut -- node /absolute/path/to/capcut-mcp/dist/index.jsConfiguration
Env var | Default | Purpose |
|
| Where drafts are read/written (CapCut's folder on macOS) |
Installing ffmpeg (brew install ffmpeg) is recommended: ffprobe detects media duration and dimensions automatically. Without it, image dimensions fall back to macOS sips, and video/audio clips require an explicit durationSeconds.
Architecture
Layered, dependency-injected design. CompositionRoot is the only place where concrete classes are instantiated; every collaborator is injected through constructor interfaces (ports & adapters).
classDiagram
class DraftToolController {
+registerOn(server)
}
class DraftService {
+createDraft()
+addVideo() / addImage() / addAudio() / addText()
+listDrafts() / getDraft()
}
class DraftDocument {
+insertSegment()
+addMaterial()
+summary()
}
class DraftRepository {
<<interface>>
}
class MediaProbe {
<<interface>>
}
class FileChecker {
<<interface>>
}
class FsDraftRepository
class ChainMediaProbe
class FfprobeMediaProbe
class SipsImageProbe
class MaterialFactory
class SegmentFactory
class DraftContentFactory
DraftToolController --> DraftService
DraftService --> DraftRepository
DraftService --> MediaProbe
DraftService --> FileChecker
DraftService --> MaterialFactory
DraftService --> SegmentFactory
DraftService --> DraftContentFactory
DraftRepository <|.. FsDraftRepository
MediaProbe <|.. ChainMediaProbe
ChainMediaProbe o--> FfprobeMediaProbe
ChainMediaProbe o--> SipsImageProbe
FsDraftRepository --> DraftDocumentPatterns in play:
Facade —
DraftServiceexposes one use case per tool and owns the workflow.Repository —
FsDraftRepositoryisolates all disk I/O and the meta-info bookkeeping.Factory —
DraftContentFactory/MaterialFactory/SegmentFactoryencapsulate CapCut's JSON blocks.Strategy + Chain of Responsibility —
MediaProbeimplementations try ffprobe first, thensips.Dependency Injection — constructor injection everywhere;
IdGeneratorandClockare injected too, which keeps every unit test deterministic (seesrc/testing/fakes.ts).
DraftDocument wraps the raw draft JSON and only mutates the parts it understands, preserving any field CapCut adds on its own.
Validation
Verified end to end against CapCut desktop 3.3.0 (macOS): generated drafts show up in CapCut's project list with the right duration, open in the editor, and the full timeline loads — video, photo, audio (with volume) and text overlays with their exact timings. CapCut's own autosave round-trips the generated structure without dropping anything.
Limitations
Media must live on a stable user path (e.g. under
~/Moviesor~/Documents). CapCut marks files under/tmpas "not accessible" and asks to relink them.No effects, transitions, keyframes or exports yet — CapCut itself does the rendering/export.
Drafts heavily edited inside CapCut can contain features this server does not model; it will preserve them on load/save, but it only manipulates video/image/audio/text segments.
Development
pnpm test # vitest unit tests
pnpm typecheck
pnpm dev # run from sources (tsx)Available Tools
7 toolsadd_audioAdd audio clipB
Adds an audio file (music, voiceover) to a draft audio track.
Inputs: path (required), draft (required), volume, atSeconds, +2 more.
add_imageAdd imageB
Adds a still image to a draft video track.
Inputs: path (required), draft (required), x, y, +4 more.
add_textAdd text overlayC
Adds a text overlay (title, caption) to a draft text track.
Inputs: text (required), draft (required), x, y, +6 more.
add_videoAdd video clipB
Adds a video file to a draft video track. Duration and dimensions are detected with ffprobe when available.
Inputs: path (required), draft (required), x, y, +6 more.
create_draftCreate CapCut draftA
Creates a new empty CapCut draft (project) in the local drafts folder. Open it later with CapCut desktop.
Inputs: name (required), fps, width, height.
get_draftInspect CapCut draftA
Returns the timeline of a draft: tracks, segments, timings and total duration.
Inputs: name (required).
list_draftsList CapCut draftsB
Lists the CapCut drafts found in the local drafts folder.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct media type (audio, image, text, video) or draft operation (create, get, list), with no overlapping purposes.
All tools follow a consistent verb_noun pattern (e.g., add_audio, create_draft, list_drafts), making them predictable.
7 tools is well-scoped for a video editing assistant, covering essential draft and media operations without bloat.
Covers draft creation, listing, and adding media, but lacks remove/update operations for media or export functionality, which are minor gaps.
Maintenance
Related MCP Connectors
CapCut MCP server for ChatGPT, Claude and any AI agent: list drafts, export draft, add auto captions, share draft for review, invite members to a space, set member role, transfer editing permission and search templates in your own CapCut account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to CapCut yourself; Cotlet does not store your password and you need no CapCut API key. About the official CapCut API: Partly. CapCut has an official plugin for the ChatGPT desktop app that builds drafts and adds captions, effects and templates (capcut.com, checked 6 Nov 2026). Setup and FAQ: https://cotlet.dev/integrations/capcut-api-mcp-server
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
AI video editor your agent can drive: plan scenes, edit a multi-track timeline, and render MP4s.
Build editable 3D scenes, direct characters and cameras, and export AI video references with MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude Code to build and edit CapCut video projects locally by creating drafts, adding media and effects, and saving projects that open in CapCut desktop.2Apache 2.0
- AlicenseBqualityCmaintenanceAn MCP server for inspecting and editing CapCut Desktop draft projects through local, version-safe timeline operations.53MIT
- AlicenseBqualityBmaintenanceEnables AI to create and edit local Jianying/CapCut draft projects on macOS from videos, images, audio, and text, supporting editable subtitles, keyframes, motion presets, and batch operations via MCP tools.2213MIT
- AlicenseBqualityCmaintenanceEnables reading and editing CapCut desktop draft projects, including adding/moving/trimming/splitting clips, text, audio, images, filters, transitions, masks, keyframe animation, audio fades, stickers, setting transforms, validation, and saving with backups.28MIT