{"name":"io.github.JXUE0/opencut-controller","slug":"jxue0-opencut-controller","title":null,"description":"Professional MCP server for video editing automation with OpenCut.","url":"https://mcp.market/server/jxue0-opencut-controller","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"media","tags":["media"],"presence":{"score":28,"stars":7,"forks":3,"downloads_week":59,"last_push_at":"2026-07-19T06:00:53.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/JXUE0/opencut-controller","website":null,"version":"1.30.0","remotes":[],"packages":[{"registryType":"npm","identifier":"opencut-controller","version":"1.30.0","transport":{"type":"stdio"}}],"tools":[{"name":"audio_set_element_volume","description":"Set the volume of an audio element on the timeline","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_add_to_timeline","description":"Add a sound from the library to the timeline","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_clear_saved","description":"Clear all saved sounds from the library","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_list_saved","description":"List all saved sounds in the user's library","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_remove_saved","description":"Remove a sound from the saved sounds library","write_action":true,"price_micros":0,"input_schema":null},{"name":"audio_sound_save","description":"Save a sound effect to the user's saved sounds library","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_search","description":"Search for sound effects from the Freesound library","write_action":false,"price_micros":0,"input_schema":null},{"name":"audio_sound_toggle_commercial_filter","description":"Toggle the commercial-only filter for sound search","write_action":false,"price_micros":0,"input_schema":null},{"name":"clipboard_copy","description":"Copy currently selected elements to the clipboard","write_action":false,"price_micros":0,"input_schema":null},{"name":"clipboard_paste","description":"Paste elements from the clipboard at the current playhead time","write_action":false,"price_micros":0,"input_schema":null},{"name":"history_can_redo","description":"Check if redo is available","write_action":false,"price_micros":0,"input_schema":null},{"name":"history_can_undo","description":"Check if undo is available","write_action":false,"price_micros":0,"input_schema":null},{"name":"history_redo","description":"Redo the last undone action","write_action":false,"price_micros":0,"input_schema":null},{"name":"history_undo","description":"Undo the last action","write_action":false,"price_micros":0,"input_schema":null},{"name":"keyframe_effect_param_remove","description":"Remove a keyframe from an effect parameter","write_action":true,"price_micros":0,"input_schema":null},{"name":"keyframe_effect_param_upsert","description":"Create or update a keyframe on an effect parameter","write_action":true,"price_micros":0,"input_schema":null},{"name":"keyframe_list","description":"List all keyframes for an element","write_action":false,"price_micros":0,"input_schema":null},{"name":"keyframe_remove","description":"Remove a keyframe from an element property by keyframe ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"keyframe_retime","description":"Move a keyframe to a new time","write_action":false,"price_micros":0,"input_schema":null},{"name":"keyframe_upsert","description":"Create or update a keyframe on an element property","write_action":true,"price_micros":0,"input_schema":null},{"name":"media_add_file","description":"Add a local file as a media asset to the project by clicking the upload area","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_add_to_timeline","description":"Add a media asset to the timeline at a specific track and time","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_clear_all","description":"Remove all media assets from the project","write_action":true,"price_micros":0,"input_schema":null},{"name":"media_get","description":"Get info about a specific media asset","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_is_loading","description":"Check if media is currently being loaded","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_list","description":"List all media assets in the current project","write_action":false,"price_micros":0,"input_schema":null},{"name":"media_remove","description":"Remove a media asset from the project","write_action":true,"price_micros":0,"input_schema":null},{"name":"playback_get_state","description":"Get current playback state including currentTime, volume, isPlaying, and isMuted","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_mute","description":"Mute audio","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_pause","description":"Pause playback","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_play","description":"Start playback from the current time position","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_seek","description":"Seek to a specific time in seconds","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_set_volume","description":"Set the playback volume (0.0 to 1.0)","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_stop","description":"Pause playback and seek to time 0","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_toggle","description":"Toggle between play and pause","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_toggle_mute","description":"Toggle mute state","write_action":false,"price_micros":0,"input_schema":null},{"name":"playback_unmute","description":"Unmute audio","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_cancel_export","description":"Cancel an in-progress export","write_action":true,"price_micros":0,"input_schema":null},{"name":"project_clear_export_state","description":"Clear the export state after completion","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_close","description":"Close the active project and navigate to the projects page","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_create","description":"Create a new project and navigate to it. Returns the new project ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"project_delete","description":"Delete a project by ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"project_duplicate","description":"Duplicate one or more projects by ID. Returns the new project IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_get_active","description":"Get info about the currently active project","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_get_export_state","description":"Get the current export state (progress, isExporting, result)","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_get_timeline_view_state","description":"Get the current timeline view state (zoom, scroll, playhead)","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_get_total_duration","description":"Get the total duration of the active project in seconds","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_list","description":"List all saved projects with metadata","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_load","description":"Load a project by ID into the editor","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_rename","description":"Rename the active project","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_save","description":"Save the currently active project","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_set_timeline_view_state","description":"Set the timeline view state","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_update_settings","description":"Update project settings such as FPS, canvas size, and background","write_action":true,"price_micros":0,"input_schema":null},{"name":"scene_create","description":"Create a new scene","write_action":true,"price_micros":0,"input_schema":null},{"name":"scene_delete","description":"Delete a scene by ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"scene_get_current","description":"Get the currently active scene","write_action":false,"price_micros":0,"input_schema":null},{"name":"scene_list","description":"List all scenes in the active project","write_action":false,"price_micros":0,"input_schema":null},{"name":"scene_rename","description":"Rename a scene","write_action":false,"price_micros":0,"input_schema":null},{"name":"scene_switch","description":"Switch to a scene by ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"selection_deselect_all","description":"Deselect all elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"selection_get","description":"Get currently selected elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"selection_is_selected","description":"Check if a specific element is selected","write_action":false,"price_micros":0,"input_schema":null},{"name":"selection_select","description":"Select one or more timeline elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"sticker_browse_category","description":"Browse stickers by category","write_action":false,"price_micros":0,"input_schema":null},{"name":"sticker_search","description":"Search for stickers by query","write_action":false,"price_micros":0,"input_schema":null},{"name":"text_create","description":"Create a text element on the timeline","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_delete","description":"Delete a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_list","description":"List all text elements across all tracks","write_action":false,"price_micros":0,"input_schema":null},{"name":"text_update_background","description":"Update the background of a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_update_blend_mode","description":"Update the blend mode of a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_update_content","description":"Update the text content of a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_update_font","description":"Update font properties of a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_update_style","description":"Update style properties of a text element (color, alignment, spacing)","write_action":true,"price_micros":0,"input_schema":null},{"name":"text_update_transform","description":"Update the position and scale of a text element","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_effect_add","description":"Add an effect to a timeline element","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_effect_remove","description":"Remove an effect from a timeline element","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_effect_reorder","description":"Reorder effects on an element","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_effect_toggle","description":"Enable or disable an effect","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_effect_update_params","description":"Update parameters of an effect","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_element_delete","description":"Delete one or more elements","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_element_duplicate","description":"Duplicate one or more elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_get","description":"Get an element by track ID and element ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_insert","description":"Insert an element into a track","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_element_move","description":"Move an element to a different track or time","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_preview","description":"Apply temporary (uncommitted) updates to elements for live preview. Call timeline_element_preview_commit to persist or timeline_element_preview_discard to revert.","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_preview_commit","description":"Commit the active preview as an undoable action","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_preview_discard","description":"Discard the active preview and revert elements to their original state","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_split","description":"Split elements at a specific time","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_toggle_mute","description":"Mute or unmute elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_toggle_visibility","description":"Show or hide elements","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_trim","description":"Trim the in/out points of an element","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_element_update","description":"Update arbitrary properties of an element (opacity, transform, blendMode, etc.)","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_element_update_duration","description":"Update the duration of an element","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_element_update_start_time","description":"Update the start time of elements","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_track_add","description":"Add a new track to the timeline","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_track_get","description":"Get a track by ID","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_track_list","description":"List all tracks in the current scene","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_track_remove","description":"Remove a track by ID","write_action":true,"price_micros":0,"input_schema":null},{"name":"timeline_track_toggle_mute","description":"Toggle mute on a track","write_action":false,"price_micros":0,"input_schema":null},{"name":"timeline_track_toggle_visibility","description":"Toggle visibility on a track","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-27T21:49:29.384Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:49:29.370Z","components":{"code":{"score":15,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 71 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"install.script","severity":"medium","component":"code","title":"npm install lifecycle script present"},{"id":"install.script","severity":"medium","component":"code","title":"npm install lifecycle script present","evidence":"package.json: …src/index.ts --format esm --watch\", \"postinstall\": \"playwright install chromium\", \"pre…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"opencut-controller","version":"1.30.0","found":true,"license":"MIT","hasInstallScripts":true,"dependencyCount":3,"publishedAt":"2026-05-01T19:12:29.200Z","repositoryUrl":"git+https://github.com/JXUE0/opencut-controller.git","weeklyDownloads":59}],"repo":{"found":true,"owner":"JXUE0","repo":"opencut-controller","archived":false,"pushedAt":"2026-07-19T06:00:53Z","stars":7,"forks":3,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/103237662?v=4","ownerCreatedAt":"2022-04-08T04:57:40Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/103237662?v=4&s=128","source":"github"},"presence":{"stars":7,"forks":3,"downloadsWeek":59,"license":"MIT","lastPushAt":"2026-07-19T06:00:53.000Z","score":28}}}},"grade_history":[],"reviews":[]}