capcut-mcp-server
Local MCP server enabling Claude to create CapCut/Jianying video drafts with text, video, audio, images, subtitles, effects, stickers, and keyframe animations, then save drafts for the CapCut app. It wraps the VectCutAPI backend to generate draft files.
README
capcut-mcp-server
A local MCP (Model Context Protocol) server that lets Claude drive CapCut/Jianying video editing — create a draft, add text/video/audio/image tracks, subtitles, effects, stickers, and keyframe animations, then save a draft file CapCut can open.
How this actually works (read this first)
CapCut has no public API. This server does not talk to the CapCut app directly. It's a thin wrapper around the local HTTP backend from the open-source VectCutAPI project, which generates CapCut/Jianying draft files that you then copy into CapCut's drafts folder.
That means there are two things running for this to work:
Claude <--stdio--> capcut-mcp-server (this project) <--HTTP--> VectCutAPI's capcut_server.py
You must set up and run VectCutAPI's Python backend yourself — this project does not include or install it.
1. Set up the VectCutAPI backend (prerequisite)
git clone https://github.com/sun-guannan/VectCutAPI.git
cd VectCutAPI
python -m venv venv-capcut
source venv-capcut/bin/activate # Windows: venv-capcut\Scripts\activate
pip install -r requirements.txt
cp config.json.example config.json # edit if needed
python capcut_server.py # starts the HTTP API on http://127.0.0.1:9001
Leave this running in its own terminal. Requirements: Python 3.10+, FFmpeg, and CapCut or Jianying installed (international CapCut works; the desktop app itself is only needed to open the drafts this produces, not to generate them).
2. Build this server
npm install
npm run build
This produces dist/index.js, the stdio entry point.
3. Point it at your VectCutAPI backend
By default the server calls http://127.0.0.1:9001. Override with an env var if
you changed the port:
CAPCUT_API_URL=http://127.0.0.1:9001
4. Wire it into a client
This is a local stdio server, not a remote connector — it runs as a subprocess of whatever client launches it, so it's added differently depending on where you want to use it:
Claude Desktop
Edit your claude_desktop_config.json (Settings → Developer → Edit Config) and add:
{
"mcpServers": {
"capcut": {
"command": "node",
"args": ["/absolute/path/to/capcut-mcp-server/dist/index.js"],
"env": { "CAPCUT_API_URL": "http://127.0.0.1:9001" }
}
}
}
Restart Claude Desktop afterward.
Claude Code
claude mcp add capcut -- node /absolute/path/to/capcut-mcp-server/dist/index.js
Cowork
Cowork's "Add custom connector" flow (Settings → Customize → Connectors) expects a remote MCP server URL reachable from Anthropic's cloud — it can't launch a local stdio subprocess on your machine. To use this server from Cowork you'd need to deploy it (and the VectCutAPI backend) somewhere with a public HTTPS endpoint and switch this server's transport to streamable HTTP. For local-only use, Claude Desktop or Claude Code (above) are the supported paths.
Available tools
| Tool | What it does |
|---|---|
capcut_create_draft |
Create a new draft (project). Call this first. |
capcut_add_text |
Add a text/title/caption element, with shadow, background panel, multi-style segments. |
capcut_add_video |
Add a video clip to the timeline. |
capcut_add_audio |
Add an audio clip (music, voiceover, SFX). |
capcut_add_image |
Add a static image asset. |
capcut_add_subtitle |
Import an SRT subtitle file. |
capcut_add_effect |
Apply a visual effect/filter over a time range. |
capcut_add_sticker |
Place a sticker asset. |
capcut_add_video_keyframe |
Add property keyframes (scale/position/rotation/alpha) for animation. |
capcut_save_draft |
Save/finalize the draft. Call this last. |
Every add_* tool accepts an extra_params object as an escape hatch for any
VectCutAPI field not modeled explicitly in the typed schema — the underlying API
has more optional fields (nested transform/animation objects, etc.) than are fully
documented, so extra_params is merged directly into the request body.
Typical workflow
capcut_create_draft→ getdraft_id- One or more
capcut_add_video/capcut_add_image/capcut_add_audio/capcut_add_text/capcut_add_subtitle/capcut_add_effect/capcut_add_sticker/capcut_add_video_keyframecalls against thatdraft_id capcut_save_draft→ generates adfd_*folder next tocapcut_server.py- Copy that folder into your CapCut/Jianying drafts directory to open it in the app
Troubleshooting
- "Could not reach the CapCut API backend" —
capcut_server.pyisn't running, or is running on a different port thanCAPCUT_API_URLpoints to. - CapCut doesn't show the draft — make sure you copied the generated
dfd_*folder into CapCut's actual drafts directory (not just left it next tocapcut_server.py). - A field you need isn't in the schema — pass it via
extra_params; check VectCutAPI'sexample.pyfor the exact field name the backend expects.
Development
npm run dev # tsx watch — rebuild/rerun on save
npm run build # tsc compile to dist/
npm run clean # remove dist/
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。