screenslick
The ScreenSlick MCP server provides programmatic control over the ScreenSlick browser-based video editor, enabling project inspection, content generation, timeline manipulation, and video export.
Connection & Status
Check bridge status (
screenslick_bridge_status): Verify whether a ScreenSlick editor session is connected.Inspect project (
screenslick_get_project): Retrieve details about the currently open project.Query capabilities (
screenslick_get_capabilities): List available commands, effects, animations, layouts, and workflow guidance.
Voiceover
List voices (
screenslick_list_voices): See available local and premium (credit-consuming) Gemini voices.Generate voiceover (
screenslick_generate_voiceover): Create a full voiceover track with per-clip control over text, timing, voice, style, speed, and provider.Add voiceover to timeline (
screenslick_add_transcript_voiceover_to_timeline): Place editable voiceover clips on the timeline from a transcript or custom script.Preview voiceover (
screenslick_preview_voiceover): Start or stop playback of the current voiceover track.Toggle voiceover (
screenslick_toggle_voiceover): Enable or disable the voiceover track.
Script & Transcript
Generate transcript (
screenslick_generate_transcript): Transcribe/subtitle the current video using local or premium providers, with language and model size options.Generate script (
screenslick_generate_script): Use ScreenSlick's script assistant to write or improve a timed narration plan (demos, tutorials, walkthroughs, etc.).
Assets
List music (
screenslick_list_music): Browse built-in background music tracks.List sound effects (
screenslick_list_sound_effects): Browse built-in sound effects.List visual effects (
screenslick_list_effects): See available agent-editable visual effects.
Timeline Editing
Apply commands (
screenslick_apply_commands): Send a batch of validated creative edit commands to the timeline (supports dry-run mode).Remove silences (
screenslick_remove_silences): Automatically cut silent segments with configurable aggressiveness (aggressive, default, conservative, long-pauses).
Export & Preview
Capture frame (
screenslick_capture_frame): Grab a PNG preview frame at a specific timestamp.Export video (
screenslick_export_video): Export the finished project as an MP4 data URL with optional watermark and custom settings.
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., "@screenslickgenerate a voiceover for the current timeline"
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.
ScreenSlick MCP Server
Local MCP server for controlling the ScreenSlick browser editor from Codex, Claude Code, Claude Desktop, Cursor, and other MCP clients.
The server runs locally over stdio and opens a localhost bridge at:
ws://127.0.0.1:32117/screenslick-agentOpen ScreenSlick, enter the editor, click Agent, then ask your MCP client to
call screenslick_bridge_status.
Install
No ScreenSlick source checkout is required. Use the npm package from your MCP client:
{
"mcpServers": {
"screenslick": {
"type": "stdio",
"command": "npx",
"args": ["-y", "screenslick-mcp"]
}
}
}If your client uses form fields:
Field | Value |
Name |
|
Transport |
|
Command |
|
Arguments |
|
Related MCP server: 247afk Block Editor MCP Server
Claude Code
Project-scoped .mcp.json:
{
"mcpServers": {
"screenslick": {
"type": "stdio",
"command": "npx",
"args": ["-y", "screenslick-mcp"]
}
}
}Restart Claude Code, approve the MCP server, then run /mcp to confirm the
screenslick server is connected.
Codex CLI
Add a stdio server entry to your Codex config:
[mcp_servers.screenslick]
command = "npx"
args = ["-y", "screenslick-mcp"]
startup_timeout_sec = 10
tool_timeout_sec = 120Cursor
Create .cursor/mcp.json in a project, or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"screenslick": {
"command": "npx",
"args": ["-y", "screenslick-mcp"]
}
}
}Available tools
screenslick_bridge_statusscreenslick_health_checkscreenslick_get_projectscreenslick_analyze_timelinescreenslick_validate_voiceover_timingscreenslick_analyze_video_segmentsscreenslick_find_clip_candidatesscreenslick_create_clip_collectionscreenslick_get_capabilitiesscreenslick_list_voicesscreenslick_list_musicscreenslick_list_sound_effectsscreenslick_list_effectsscreenslick_remove_silencesscreenslick_generate_transcriptscreenslick_generate_scriptscreenslick_director_planscreenslick_create_demo_videoscreenslick_review_director_draftscreenslick_generate_voiceoverscreenslick_add_transcript_voiceover_to_timelinescreenslick_clear_voiceoverscreenslick_replace_voiceover_clipsscreenslick_update_voiceover_clipscreenslick_move_voiceover_clipscreenslick_delete_voiceover_clipscreenslick_regenerate_voiceover_clipscreenslick_extract_on_screen_captionsscreenslick_merge_on_screen_caption_ocrscreenslick_create_voiceover_from_on_screen_captionsscreenslick_preview_voiceoverscreenslick_toggle_voiceoverscreenslick_cleanup_timelinescreenslick_apply_commandsscreenslick_capture_framescreenslick_export_video
Voiceover tools are intentionally editable-first. Agent-created narration should use timeline voiceover clips so the user can see the clips in the sidebar, edit text, move them, delete them, and regenerate audio. screenslick_generate_voiceover defaults to that editable workflow; only pass mode: "full-track" or editable: false when the user explicitly wants one flattened generated track.
For intro/outro/intermission cards, keep card layers inset instead of flush with the hold edges. Text should usually start a few tenths of a second after the card begins and end before the card ends. Card voiceover should start after the text entrance and leave at least 500ms before a terminal card or final timeline end, especially with premium voices where generated audio can run longer than the requested target.
Environment variables
Variable | Default | Purpose |
|
| Local bridge port |
|
| Must remain localhost |
| package | Debug log path |
The bridge is intentionally localhost-only. Remote hosts are rejected.
Verify
Start ScreenSlick and open the editor.
Click Agent in the editor.
Ask the MCP client to call:
screenslick_bridge_status
Healthy response:
{
"ok": true,
"connected": true,
"port": 32117,
"path": "/screenslick-agent",
"session": {
"hasVideo": true,
"timelineDuration": 62.63
}
}Development
npm install
npm run build
npm run devSee ROADMAP.md for the Director Mode plan: reliability, timeline intelligence, voiceover clip control, on-screen caption extraction, and high-level demo-video creation tools.
Use development mode from this repo:
For live source changes:
{
"mcpServers": {
"screenslick": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "/path/to/screenslick-mcp"
}
}
}For testing the built package:
{
"mcpServers": {
"screenslick": {
"type": "stdio",
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/screenslick-mcp"
}
}
}Best-practice notes
Uses the official MCP TypeScript SDK over stdio.
Keeps editor bridge traffic on
127.0.0.1.Does not require the ScreenSlick source repo on the user's machine.
Uses structured input schemas for every tool.
Routes editor actions through ScreenSlick's native editor APIs instead of processing video files directly.
Health checks include editor bridge compatibility information so stale editor sessions can be diagnosed with a refresh/reconnect instead of mysterious tool failures.
Provides cleanup tools so agents can clear generated layers before rebuilding a pass while preserving the source video clips.
Orchestrates editor-native silence removal, local caption generation, and local or confirmed-premium voiceover as part of high-level demo drafts while preserving dry-run safety.
Applies camera layout polish when the current project has a camera layer, using side-by-side or portrait-overlay layouts based on the target format.
Runs Director Mode reviews around high-level demo drafts so agents can catch structure, narration, caption, music, SFX, and visual-polish issues before calling an edit done.
Guides agents to inset intro/outro card text and voiceover inside the card duration so terminal CTA audio does not clip on the final frame.
Treats premium voice generation as a consent boundary: agents should ask before using premium/Gemini voices because they can consume credits.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/deifos/screenslick-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server