lc-editor
Click on "Install 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., "@lc-editorCreate a new 9:16 reel, add a clip with captions, and export it"
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.
lc-editor
A local video editor for a computer use agent, made for grokbot. You drive it from an MCP client; there is no timeline UI to click. You send tool calls; ffmpeg renders the file.
Built for short 9:16 reels (1080x1920, 30fps). Captions are stroke-and-shadow text, never a box. Sound is the owner's call, not the editor's: ask before assuming music or natural audio. This version composites multiple layers, applies a small effect pack, expands templates into ordinary timeline items, and can mix owner-imported music with beat sync. Engine rules live in specs/craft.md. Karachi episode structure is an optional preset, not the default.
Needs
Python 3.11 or newer
ffmpeg and ffprobe on your PATH
Related MCP server: mcp-ffmpeg
Install
From a clone of this repo:
pipx install .pip install . works too. pipx keeps the app in its own env and puts lc-editor on your PATH.
From GitHub:
pipx install git+https://github.com/uzairayed/lc-editor.gitRun
lc-editor serve --project ./my-reel--project defaults to ./reel if omitted. --web starts a page on 127.0.0.1:8765 that can show stills. It only reads.
Cursor Marketplace Plugin
This repo is packaged as a Cursor Agent Plugin. Install the lc-editor plugin from the Cursor Marketplace and the MCP server is ready to use—no manual pipx install needed.
Requirements still apply: ffmpeg, ffprobe, and Python 3.11+ must be on your PATH. The plugin uses uvx to run the server, which requires Python.
The plugin includes:
plugin.json— Agent Plugins manifestmcp.json— MCP server configuration (stdio transport)skills/lc-editor/SKILL.md— guidance for agents on when/how to use the editor
Cursor (manual MCP config)
If you prefer manual configuration instead of the marketplace plugin, add this to your MCP config:
{
"mcpServers": {
"lc-editor": {
"command": "lc-editor",
"args": ["serve", "--project", "/absolute/path/to/project"]
}
}
}On Windows the path looks like C:/Users/you/my-reel.
You can also use uvx to run without installing first:
{
"mcpServers": {
"lc-editor": {
"command": "uvx",
"args": ["--from", "git+https://github.com/uzairayed/lc-editor.git", "lc-editor", "serve"]
}
}
}Tools
Every edit returns { ok, timeline_summary, warnings }. Illegal requests fail out loud. Same op_id twice does not duplicate. review_report must pass before export. Preview stills and the contact sheet are JPEG files on disk, not base64.
The primary track is still the gapless clips list (clip_add, trim, split, reorder, motion, transitions). motion_zoom_in / motion_zoom_out are a 12-frame scale hit (not Ken Burns). Two or more sources can share one slot (layout_add). Overlays, look, and music sit beside it:
Layers:
layer_add/layer_update/layer_remove/layer_reorder/layer_transform/layer_keyframefor timed video, image, or text.text_stylesets fade, pop, slide, or type-on.effect_add/effect_update/effect_removeattachblur,sharpen,glow,grain,vignette,lut, orcolor. Raw ffmpeg filter strings are rejected.Templates:
template_list,template_apply("editorial"|"karachi", bindings=...),template_save. Apply writes ordinary layers and look; the project stays editable.Music: default is off.
project_set(allow_music=true)is the owner opt-in. Thenimport_filea local.mp3/.wav/.m4aandmusic_add.beat_analyze,beat_edit, dry-runbeat_sync_preview, thenbeat_sync_apply. There is no stock catalog; licensing stays with the owner.Layouts:
layout_add("stack_v"|"stack_h"|"stack_v3"|"grid_2x2", panes=[...])composites two to four sources into one clip.layout_panerefocuses a cell.layout_clearflattens back to pane 0. A vista or reveal stays full-frame.Captions:
caption_addstill works and syncs to a bound text layer. No box, banner, or scrim.
Optional: project_create(..., preset="karachi") loads series branding. Other reels do not need it.
Capability matrix
Area | In this version |
Canvas | 1080x1920, 30fps, MCP only |
Primary track | Gapless clips, trim/split/reorder, kenburns/punch/zoom_in/zoom_out |
Layouts |
|
Layers | Timed video, image, and text overlays with z-order, transform, keyframes |
Effects | Registry: blur, sharpen, glow, grain, vignette, lut, color |
Text | Stroke-and-shadow only. Motion: fade, pop, slide, type-on |
Templates |
|
Sound | Natural audio, beds, SFX (ride kinds plus reel |
Beat sync |
|
Look | One adjustment layer (LUT, grain, vignette) after the cut |
Giving this to grokbot
Once the MCP server is in grokbot's config, hand it a prompt like this:
You have an MCP server called lc-editor. It is a video editor you control
entirely through tool calls; ffmpeg does the rendering.
My raw clips are in <folder>. Cut a 9:16 reel of <subject>, 15 to 28 seconds.
Follow the craft rules in specs/craft.md: stroke-and-shadow captions with no
background box, hard cuts on motion.
Before you touch the timeline, ask me what I want for sound: music or natural
audio only. Do not assume either way. If I ask for music, call
project_set(allow_music=true), import my track, music_add it, beat_analyze,
show me beat_sync_preview, then beat_sync_apply only after I confirm.
Work in passes: analyze the footage first, pick the strongest shots, then
match what you see in the keyframes to context/INDEX.md and read only those
scene cards (process in context/HOW.md) before you set durations or roles.
Build the timeline. An occasional two-up is context/scenes/pair.md.
A reel that is mostly stacks is collage.md. Two ride POVs is
ride-pair.md. Add layers or a template if needed, then run
review_report and fix every warning before you export. Show me
preview stills at each pass.Swap the folder, subject, and any series preset (for example preset="karachi") into the prompt as needed.
Scene holds (door as a reveal, tile as a detail, highway as punctuation) live in context/. The agent looks up subjects in context/INDEX.md and reads only the matching cards. That library is editorial judgment. Engine floors in specs/craft.md still win when they conflict.
Not in this version
Multicam, speech-to-captions, a stock music catalog, Drive import, or a browser you edit in.
Submitting to the Cursor Marketplace
To publish this plugin to the Cursor Marketplace or Cursor Directory:
Cursor Marketplace: Go to https://cursor.com/marketplace/publish, sign in, and submit the plugin using this repo's URL.
Cursor Directory: Go to https://cursor.directory/plugins/new and follow the submission steps.
Once published, Grok Bot templates and other agents can reference this plugin by its marketplace ID.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Trim, watermark, extract audio, and convert video to 9:16 vertical via API or MCP server.
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
- VidmoatOAuthcom.vidmoat
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceCreates short videos for TikTok, Instagram Reels, and YouTube Shorts using the Model Context Protocol (MCP) and a REST API.431,321MIT
- AlicenseAqualityCmaintenanceProvides 30+ FFmpeg video and audio editing tools via MCP, enabling AI assistants to perform operations like trimming, transcoding, overlays, and composition directly.274MIT
- FlicenseNot gradedqualityCmaintenanceEnables agentic video editing and composition via MCP, allowing creation and manipulation of multi-track timelines with clips, transitions, filters, and text overlays, then rendering to MP4 using the melt-7 CLI.-
- AlicenseNot gradedqualityAmaintenanceEnables local-first Instagram reel production entirely over MCP, turning raw footage, URLs, or topics into finished reels with script generation, stock media, voiceover, and captions.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/uzairayed/lc-editor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server