FilmCraft MCP
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., "@FilmCraft MCP import all clips from ~/Footage/day1 and export an H.264 preview"
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.
FilmCraft MCP
An MCP server that lets Claude, Cursor or any MCP client drive FilmCraft. You describe the edit in plain words, and the AI inspects your project, imports media, runs any FilmCraft command, renders frames and exports the sequence, either inside the running FilmCraft app or headless against a project file.
Requirements
FilmCraft installed. The server looks for
filmcraft-cliinC:\Program Files\FilmCraft\, in/Applications/FilmCraft.app/Contents/MacOS/, then on yourPATHNode.js 20.19+
An MCP client: Claude Code, Claude Desktop, Cursor, VS Code, …
Related MCP server: Shotcut MCP
Install
git clone https://github.com/glorybnat/filmcraft-mcp.git
cd filmcraft-mcp
npm install
npm run buildThis produces the server at dist/filmcraft-index.js.
Connect your AI client
Claude Code
claude mcp add filmcraft --scope user -- node C:/path/to/filmcraft-mcp/dist/filmcraft-index.jsStart a new Claude Code session afterwards. Tools only load in sessions that start after the server is added.
Claude Desktop, Cursor, VS Code: add this to the client's MCP config:
{
"mcpServers": {
"filmcraft": {
"command": "node",
"args": ["C:/path/to/filmcraft-mcp/dist/filmcraft-index.js"],
"env": { "FILMCRAFT_PROJECT": "C:/Users/you/Videos/my-edit.fcproj" }
}
}
}Ask your AI to "inspect my FilmCraft project". If it answers with your bins and sequences, you're connected.
Edit live in the FilmCraft app
By default every call runs headless against a project file. To watch the edits happen in the GUI instead, start FilmCraft with its control socket and point the server at it:
filmcraft --control 7778"args": ["C:/path/to/filmcraft-mcp/dist/filmcraft-index.js", "--bridge-addr", "127.0.0.1:7778"]Try saying
"What's in the open project? List the sequences and how many clips are on each track."
"Import everything in
~/Footage/day1into the project.""Find the command that splits a clip and razor the timeline at 00:12."
"Render a PNG of the frame at 42 seconds so I can check the grade."
"Probe
interview.movand tell me its codec, frame rate and audio tracks.""Export the in/out range as ProRes, then a half-resolution H.264 preview."
What it can do
Every tool name starts with fc_.
Group | Tools |
Project (2) |
|
Commands (3) |
|
Render (3) |
|
Media (1) |
|
fc_exec runs any FilmCraft command ID listed by fc_list_commands, for anything without a dedicated tool. Use fc_describe first to see the parameters a command takes.
How it works
Each MCP tool call runs filmcraft-cli once with the matching subcommand (inspect, exec, import, export, render, probe, …) and returns its JSON output. In bridge mode the CLI forwards the command to the running FilmCraft app; in headless mode it opens the project file itself, and saves it only when you ask for --save or --save-as.
Every option can be passed as a flag after the server path or as an environment variable:
Flag | Variable | Purpose |
| Full path to | |
|
| Drive the running FilmCraft app (started with |
|
| Project file to open in headless mode |
|
| Use the built-in demo project (headless) |
|
| Save the project after each operation (headless) |
|
| Save to a new path instead (headless) |
|
| FilmCraft data folder, used for export presets |
|
| Per-command timeout (default |
Project layout
src/
├── filmcraft-index.ts entry point, flags and env parsing
├── filmcraft-server.ts MCP server, tool and resource registration
├── bridge/
│ └── filmcraft-bridge.ts finds filmcraft-cli and runs each command
└── tools/
└── filmcraft-core.ts the nine fc_* toolsTroubleshooting
Symptom | Fix |
filmcraft-cli not found on PATH | Install FilmCraft, or set |
filmcraft-cli timed out after 60000ms | Long exports need more time. Raise |
Tools don't show up | Restart your AI client or start a new session after adding the server |
Edits don't appear in the FilmCraft window | You're in headless mode. Start the app with |
Headless edits are lost | Headless mode doesn't save by default. Add |
Export fails on missing media | Relink the clips, or pass |
Disclaimer
This is an unofficial community project and is not affiliated with the makers of FilmCraft. The FilmCraft name and owl logo belong to their respective owners.
License
Available Tools
9 toolsfc_describeA
Get full details for a single filmCraft command: its menu, shortcut, parameter schema, and whether it is currently enabled.
Inputs: id (required).
fc_execB
Execute any filmCraft command by its command ID. Use fc_list_commands to discover IDs. Params are passed as key-value pairs.
Inputs: id (required), params.
fc_exportA
Export the active filmCraft sequence. Specify an output path with a format matched to its extension, or pass a preset name. Returns a result object that includes any offline-media warnings.
Inputs: out (required), end, queue, range, +8 more.
fc_importC
Import one or more media files into the filmCraft project.
Inputs: files (required).
fc_inspectA
Inspect the open filmCraft project and/or active sequence. Returns bin tree, sequences, tracks, and clips as JSON.
Inputs: scope.
fc_list_commandsA
List all available filmCraft commands with their IDs, labels, menu paths, shortcuts, and parameter schemas.
Inputs: filter.
fc_list_export_presetsA
List all available filmCraft export presets (built-in and user-defined) with name, category, and format.
Inputs: query.
fc_probeB
Get detailed media information for a file: codec, resolution, frame rate, audio tracks, and format-specific metadata.
Inputs: file (required), image_sequence.
fc_render_frameB
Render a single Program Monitor frame to a PNG file at the given sequence time.
Inputs: out (required), seconds (required), scale, allow_offline.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
The generic fc_exec overlaps heavily with the specialized fc_import, fc_export, and fc_render_frame tools, since those operations are almost certainly also valid command IDs — an agent may be unsure which path to take. Similarly, fc_list_commands (returns parameter schemas) and fc_describe (returns parameter schema for one command) have fuzzy boundaries. Descriptions help somewhat, but the escape-hatch-plus-wrappers design creates real selection ambiguity.
All tools use a consistent fc_ prefix with snake_case verb_noun structure (fc_list_commands, fc_list_export_presets, fc_import, fc_export, fc_render_frame). Minor deviation: fc_exec is an abbreviation while other verbs are spelled out (fc_describe, fc_inspect), but the pattern is still clearly readable and predictable.
Nine tools is well within the sweet spot for a domain-control server. Each tool corresponds to a distinct capability — discovery, inspection, execution, media ingest, probing, export, and frame rendering — with no filler.
The surface covers the editing lifecycle well: discover commands, execute them, inspect project/sequence state, import media, probe files, list presets, export, and render frames. The generic fc_exec acts as an escape hatch for missing operations (project save/create, sequence edits), so no hard dead ends, though a non-expert agent must discover command IDs to fill those gaps.
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
AI video editor your agent can drive: plan scenes, edit a multi-track timeline, and render MP4s.
Open-source AI video editor: cut, caption, clip and animate real Revline projects from your agent.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI agents to perform headless video editing through 35 tools for project creation, clip manipulation, rendering, quality control, and semantic search, all via JSON-RPC 2.0 over stdio.372MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to create, edit, validate, preview, and render Shotcut projects (saved as MLT XML) without operating the GUI, using structured timeline editing tools and local safety mechanisms.25MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI to control Final Cut Pro on macOS, including reading libraries/projects, importing FCPXML, and creating title or storyboard projects.MIT
- AlicenseNot gradedqualityCmaintenanceEnables local AI assistants to control video editing workflows, including projects, media pools, timelines, Fusion graphics, Fairlight audio, color grading, and render queues, through natural language over a local stdio connection.1MIT