Let an AI agent edit.
Watch it work.
ContentFactory has a built-in MCP server. Connect Claude Code, Claude Desktop or any other MCP client and the agent can read your timeline, look at rendered frames, make edits and export. Every change shows up in the editor as it happens, and every change can be undone.
Screenshot from the app's automated screenshot tests, using test-pattern media. The interface is in Chinese.
How it works
- MCP, locally. The app runs an MCP server over Streamable HTTP on
127.0.0.1:39917/mcp(it picks a free port if that one is taken), protected by a bearer token and an Origin check against DNS rebinding. The bundledcfbinary adds a stdio transport:cf mcp, for clients that launch a command, such as Claude Desktop. - 53 tools, each with a JSON Schema and MCP annotations (
readOnlyHint,destructiveHint): observe (project, timeline, clip, media, transcript, tasks), edit (import, insert, move, trim, split, delete, speed, volume, fades, transform, keyframes, color, filters, transitions, titles, auto-captions, ripple-delete ranges, chroma key, relink…), output (MP4, SRT, stills) and navigation (open projects, switch panels, move the playhead, play a range for the human). Results come back as text plusstructuredContent. - The agent can see.
render_framereturns a PNG of the finished picture at any time, andcontact_sheettiles evenly spaced frames with timecodes into one image. Both use the same renderer as export, so what the agent sees is what you'll ship. - One edit, one undo step. Each AI edit lands on the shared undo stack, labelled “AI: …”.
apply_opscommits several operations atomically: all succeed or none apply. - No lost updates. Every change bumps a project revision. Edits carry the revision the agent last read; if you changed the project in the meantime, the edit is refused and the latest state comes back so the agent can re-read and retry. Clients can subscribe to
cf://project/currentand getnotifications/resources/updatedwhen you edit. - Headless too. The
cfCLI works on project files without the UI:info,apply(a JSON list of operations, all-or-nothing, with--dry-run),renderwith platform presets (Douyin, Kuaishou, WeChat Channels, Xiaohongshu, Bilibili, YouTube),transcribe,frame,contact-sheet,callfor any tool, andservefor a UI-less HTTP MCP server. Handy for scripts and batch jobs.
You can see what the agent is doing
- A purple bar appears under the title bar while the agent works, showing the current step, with Follow / Background, Undo AI changes, Pause and Stop.
- Follow moves the UI with the agent: the project it opens, the panel it switches to, the frame it renders. Background leaves your view alone while the highlights still appear.
- The agent gets its own color: a lavender playhead on the frame it's rendering, “AI is looking at 00:00:04:18” in the preview, and a short label next to each clip it changes.
- Pause keeps it read-only; Stop refuses every request and cancels the exports and transcriptions it started.
- Undo AI changes restores the project to how it was before the agent's session began, as a single step you can redo.
- Exporting to a new folder, overwriting a file, deleting media and downloading an extension all ask you first; once you allow one, similar actions in that session go through.
Setup
Open ContentFactory and click the AI button [AI] on the right of the title bar. The panel shows the server status, address and token, plus ready-to-copy snippets like the ones below. The token is generated randomly on your machine and can be regenerated at any time.
Claude Code
claude mcp add --transport http contentfactory http://127.0.0.1:39917/mcp --header "Authorization: Bearer <your-token>"
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"contentfactory": {
"command": "/Applications/内容工厂.app/Contents/MacOS/cf",
"args": ["mcp"]
}
}
}
While the app is running, cf mcp forwards to it, so you watch the agent work live; when it isn't, the tools run headless against the project files. On Windows, cf.exe lives in the install folder (by default %LOCALAPPDATA%\Programs\ContentFactory); the snippet in the panel always has the right path for your machine.
Any other MCP client (Streamable HTTP)
{
"mcpServers": {
"contentfactory": {
"type": "http",
"url": "http://127.0.0.1:39917/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}
Supported MCP protocol versions: 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05. Read-only resources include cf://schema/project (the project JSON Schema), cf://presets/text, cf://catalog/filters, cf://catalog/transitions and cf://presets/export.
Things to ask
- “Cut the pauses and filler words from this talking-head clip and add captions.”
auto_subtitlestranscribes on-device →get_transcriptreturns pauses and fillers as time ranges →remove_rangesripple-deletes them. You see each step and can undo any of them. - “Make it 9:16, put a title at the start, and show me how it looks.”
set_projectchanges the canvas →add_textadds the title →render_framechecks the result, and the agent nudges the position if needed. - “Skim the whole edit and tell me where the pacing drags.”Read-only:
get_timelinefor structure andcontact_sheetfor pictures, then suggestions. Nothing in the project changes. - “Export it for Douyin to my desktop.”
export_videowith thedouyinpreset (1080 short side, 30 fps) runs in the background; the first write to your desktop asks you first, and progress shows inget_tasks.
What the agent can and can't do
Can
- Read the project, timeline, every clip parameter and keyframe, and per-character caption timing
- See the rendered output, frame by frame or as a contact sheet
- Make almost any edit the app supports, including atomic batches
- Export video, captions and stills, and download extensions (with your OK)
- Drive the UI so you can follow along, or work quietly in the background
Can't
- Connect from another machine: the server binds to 127.0.0.1 and requires the token
- Write to a new location, overwrite files or delete media without asking you
- Think for itself: there's no model in the app; you bring your own agent, and the edit is only as good as it is
- Hear audio: it understands content through transcripts and rendered frames
Privacy
- ContentFactory calls no AI service itself and sends no project content anywhere. The MCP server listens only on your machine and rejects cross-origin requests from web pages.
- When your agent calls a tool, it receives the project structure, transcript text and any frames it asks for. Whether and how those reach your AI provider depends on the client you use and its privacy policy.
- Every call (time, client, tool, arguments, result, duration) is logged locally to
agent/calls.login the app's data folder; open it from the AI panel. - To keep agents out entirely, switch the MCP server off in the AI panel.
More in the FAQ and the privacy policy.