Opencut Controller MCP server
io.github.JXUE0/opencut-controller·v1.30.0·7 starsProfessional MCP server for video editing automation with OpenCut.
7 stars59 downloads/wk
Reviews
Write oneNobody has reviewed Opencut Controller yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Opencut Controller tools (100, 29 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
audio_set_element_volumeSet the volume of an audio element on the timeline
audio_sound_add_to_timelineAdd a sound from the library to the timeline
audio_sound_clear_savedClear all saved sounds from the library
audio_sound_list_savedList all saved sounds in the user's library
audio_sound_remove_savedwrite actionRemove a sound from the saved sounds library
audio_sound_saveSave a sound effect to the user's saved sounds library
audio_sound_searchSearch for sound effects from the Freesound library
audio_sound_toggle_commercial_filterToggle the commercial-only filter for sound search
clipboard_copyCopy currently selected elements to the clipboard
clipboard_pastePaste elements from the clipboard at the current playhead time
history_can_redoCheck if redo is available
history_can_undoCheck if undo is available
history_redoRedo the last undone action
history_undoUndo the last action
keyframe_effect_param_removewrite actionRemove a keyframe from an effect parameter
keyframe_effect_param_upsertwrite actionCreate or update a keyframe on an effect parameter
keyframe_listList all keyframes for an element
keyframe_removewrite actionRemove a keyframe from an element property by keyframe ID
keyframe_retimeMove a keyframe to a new time
keyframe_upsertwrite actionCreate or update a keyframe on an element property
media_add_fileAdd a local file as a media asset to the project by clicking the upload area
media_add_to_timelineAdd a media asset to the timeline at a specific track and time
media_clear_allwrite actionRemove all media assets from the project
media_getGet info about a specific media asset
media_is_loadingCheck if media is currently being loaded
media_listList all media assets in the current project
media_removewrite actionRemove a media asset from the project
playback_get_stateGet current playback state including currentTime, volume, isPlaying, and isMuted
playback_muteMute audio
playback_pausePause playback
playback_playStart playback from the current time position
playback_seekSeek to a specific time in seconds
playback_set_volumeSet the playback volume (0.0 to 1.0)
playback_stopPause playback and seek to time 0
playback_toggleToggle between play and pause
playback_toggle_muteToggle mute state
playback_unmuteUnmute audio
project_cancel_exportwrite actionCancel an in-progress export
project_clear_export_stateClear the export state after completion
project_closeClose the active project and navigate to the projects page
project_createwrite actionCreate a new project and navigate to it. Returns the new project ID.
project_deletewrite actionDelete a project by ID
project_duplicateDuplicate one or more projects by ID. Returns the new project IDs.
project_get_activeGet info about the currently active project
project_get_export_stateGet the current export state (progress, isExporting, result)
project_get_timeline_view_stateGet the current timeline view state (zoom, scroll, playhead)
project_get_total_durationGet the total duration of the active project in seconds
project_listList all saved projects with metadata
project_loadLoad a project by ID into the editor
project_renameRename the active project
project_saveSave the currently active project
project_set_timeline_view_stateSet the timeline view state
project_update_settingswrite actionUpdate project settings such as FPS, canvas size, and background
scene_createwrite actionCreate a new scene
scene_deletewrite actionDelete a scene by ID
scene_get_currentGet the currently active scene
scene_listList all scenes in the active project
scene_renameRename a scene
scene_switchSwitch to a scene by ID
selection_deselect_allDeselect all elements
selection_getGet currently selected elements
selection_is_selectedCheck if a specific element is selected
selection_selectSelect one or more timeline elements
sticker_browse_categoryBrowse stickers by category
sticker_searchSearch for stickers by query
text_createwrite actionCreate a text element on the timeline
text_deletewrite actionDelete a text element
text_listList all text elements across all tracks
text_update_backgroundwrite actionUpdate the background of a text element
text_update_blend_modewrite actionUpdate the blend mode of a text element
text_update_contentwrite actionUpdate the text content of a text element
text_update_fontwrite actionUpdate font properties of a text element
text_update_stylewrite actionUpdate style properties of a text element (color, alignment, spacing)
text_update_transformwrite actionUpdate the position and scale of a text element
timeline_effect_addAdd an effect to a timeline element
timeline_effect_removewrite actionRemove an effect from a timeline element
timeline_effect_reorderReorder effects on an element
timeline_effect_toggleEnable or disable an effect
timeline_effect_update_paramswrite actionUpdate parameters of an effect
timeline_element_deletewrite actionDelete one or more elements
timeline_element_duplicateDuplicate one or more elements
timeline_element_getGet an element by track ID and element ID
timeline_element_insertwrite actionInsert an element into a track
timeline_element_moveMove an element to a different track or time
timeline_element_previewApply temporary (uncommitted) updates to elements for live preview. Call timeline_element_preview_commit to persist or timeline_element_preview_discard to revert.
timeline_element_preview_commitCommit the active preview as an undoable action
timeline_element_preview_discardDiscard the active preview and revert elements to their original state
timeline_element_splitSplit elements at a specific time
timeline_element_toggle_muteMute or unmute elements
timeline_element_toggle_visibilityShow or hide elements
timeline_element_trimTrim the in/out points of an element
timeline_element_updatewrite actionUpdate arbitrary properties of an element (opacity, transform, blendMode, etc.)
timeline_element_update_durationwrite actionUpdate the duration of an element
timeline_element_update_start_timewrite actionUpdate the start time of elements
timeline_track_addAdd a new track to the timeline
timeline_track_getGet a track by ID
timeline_track_listList all tracks in the current scene
timeline_track_removewrite actionRemove a track by ID
timeline_track_toggle_muteToggle mute on a track
timeline_track_toggle_visibilityToggle visibility on a track
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned15/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 71 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (2)
- mediumnpm install lifecycle script present
install.script - mediumnpm install lifecycle script present
install.scriptpackage.json: …src/index.ts --format esm --watch", "postinstall": "playwright install chromium", "pre…
How Opencut Controller compares
Against every graded Media MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 72/100
- higher than 40% of 1,337 Media servers
- Tools
- 100
- the typical Media server has 7
- Tools that change things
- 29%
- typical: 4%. Fewer write tools means less an agent can break
- GitHub stars
- 7
- more than 85% of 715 Media servers
- Downloads a week
- 59
- more than 45% of 365 Media servers with a package
What its tools let an agent do: 71 read · 29 change
Install Opencut Controller in Claude Code, Cursor or VS Code
Runs npx -y opencut-controller on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add opencut-controller -- npx -y opencut-controller
What the publisher says
From the Opencut Controller repository's README, as published. We do not edit it. Read it on GitHub
🎬 OpenCut Controller (MCP Server)
🌐 Leer en Español: README.es.md
[!NOTE]
OpenCut Controller is a robust Model Context Protocol (MCP) server designed to fully automate and control the OpenCut Video Editor directly from AI models (like Claude or agents inside n8n).
By leveraging Playwright under the hood, this server seamlessly injects into the OpenCut browser environment, granting LLMs programmatic access to manipulate the timeline, scenes, media assets, rendering engine, and more—effectively turning OpenCut into an AI-driven, headless video editing powerhouse.
✨ Key Features
- 161 Comprehensive MCP Tools: Full programmatic control over OpenCut's core editing capabilities.
- Dual Transport Support: Connect locally via stdio (default) or integrate remotely via modern HTTP Streamable transport.
- Playwright Integration: Connects directly to the OpenCut web interface to manipulate application state in real-time.
- Contextual Resources: Inspect the editor's live state, current projects, and timeline tracks.
- Pre-built MCP Prompts: Ready-to-use templates for common high-level editing tasks.
🚀 Installation
Ensure you have pnpm (or Bun) installed on your system.
[!IMPORTANT]
OpenCut Controller requires the Legacy OpenCut (Next.js App Router) — the version with a complete editor, timeline, and stores.
The current public repo (OpenCut-app/OpenCut) is an incomplete rewrite (Vite + TanStack Router).
Use the archived legacy repo: OpenCut-app/opencut-classic
# 1. Clone the legacy OpenCut editor (required for MCP to work)
git clone https://github.com/OpenCut-app/opencut-classic.git
cd opencut-classic
# 2. Clone this MCP controller
cd ..
git clone https://github.com/JXUE0/opencut-controller.git
cd opencut-controller
# 3. Install dependencies (Playwright Chromium installs automatically)
pnpm install
# 4. Patch the Local Editor:
# To enable MCP control, apply small patches to the OpenCut source code.
# We provide an automated script for this:
pnpm run patch-editor ../opencut-classic
# 5. Install & Run Editor:
cd ../opencut-classic
pnpm install
pnpm dev:web[!TIP]
The pnpm install command will automatically trigger a postinstall script to download the required Playwright Chromium binaries. No manual browser setup is needed!
💻 Usage
The server can be launched using two different transport protocols depending on your client environment.
1. stdio Transport (Default)
Ideal for standard local MCP clients like Claude Desktop.
pnpm run src/index.ts2. HTTP Streamable Transport
Ideal for integrating with external workflow tools like n8n or remote services. The server listens at http://localhost:3002/mcp.
[!WARNING]
Environment variable syntax varies depending on your operating system. Make sure to use the correct command below to prevent errors.
Linux / macOS (Bash):
TRANSPORT_TYPE=http PORT=3002 pnpm run src/index.tsWindows (PowerShell):
$env:TRANSPORT_TYPE="http"; $env:PORT="3002"; pnpm run src/index.ts3. HTTP with Authentication
For secure remote access, set a bearer token:
MCP_AUTH_TOKEN=your-secure-token TRANSPORT_TYPE=http PORT=3002 pnpm run src/index.tsShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Opencut Controller: common questions
- Is Opencut Controller MCP server safe?
- Mostly: it is graded B (72/100). Read the Opencut Controller safety report
- How do I install Opencut Controller?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Opencut Controller need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Opencut Controller maintained?
- The last commit was 108 days ago (2026-07-19). The latest release is v1.30.0.
- What can I use instead of Opencut Controller?
- Servers from other publishers that do the same job: Kinocut MCP server, Luw.ai MCP server and Kdenlive MCP Server. Compare all Opencut Controller alternatives.
- How does Opencut Controller compare with other Media MCP servers?
- safety score 72/100 (higher than 40% of 1,337 Media servers); tools 100 (the typical Media server has 7); tools that change things 29% (typical: 4%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Opencut Controller
Same job from other publishers: the closest match first, then the best rated.
KinocutGuardrailed video editing for AI agents: FFmpeg, captions, effects, Hyperframes, and receipts.not reviewedEstablishedB
Luw.aiAI interior, exterior and landscape design, photoreal rendering, image editing, video and 3D.not reviewedGrowingA- Kdenlive MCP ServerKdenlive video editing MCP - 36 tools for project, timeline, filters and melt renderingnot reviewedGrowingA
- KattoAI video clipping MCP: long videos and podcasts into scored, captioned 9:16 shorts.5.0(1)GrowingB
- Remove AI WatermarksIdentify and remove AI watermarks and provenance metadata from your own images and video.not reviewedWidely usedA