FrameForge
Provides ElevenLabs TTS integration for narration, including high-quality/voice-cloning voices and per-call provider selection via multi_voice_tts; also accessible through external_platform_call.
Provides an n8n webhook trigger tool to start asynchronous pipeline runs and return a job ID and status.
Supports local LLM inference through Ollama as an alternative LLM provider for research and scripting.
Uses OpenAI as both an LLM provider for research/script generation and a TTS provider for narration.
Delivers finished videos to Telegram through the publish_video tool.
Publishes or delivers finished videos to YouTube through the publish_video tool.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
⚡ FrameForge
AI Video Production Engine for Any Agentic IDE
Any IDE. Any topic. Any style. 1080p videos from a single prompt.
FrameForge is an MCP server your IDE agent calls to make videos. You (or your agent) write the scenes — FrameForge handles voice, images, FFmpeg compositing, and quality checking. Works in Bob, Cursor, Windsurf, Codex, opencode, Claude Code, and any MCP-capable IDE.
Zero-install quickstart (npx)
No cloning. No npm install. FFmpeg and edge-tts run on your own machine.
# 1. Install prerequisites (one-time, system-level)
# FFmpeg: https://ffmpeg.org/download.html → add bin/ to PATH
# edge-tts: pip install edge-tts
# 2. Configure your API keys (one-time, saved to ~/.frameforge/config.json)
npx --package=@amg555/frameforge-mcp frameforge-setup
# 3. Check everything is ready
npx --package=@amg555/frameforge-mcp frameforge-doctor
# 4. Add to your IDE — then ask your agent to make a videoAdd to your IDE's MCP config (works in Bob, Cursor, Windsurf, Codex, Claude Code, opencode):
{
"mcpServers": {
"frameforge": {
"command": "npx",
"args": ["--package=@amg555/frameforge-mcp", "-y", "frameforge-mcp"]
}
}
}That's it. Your agent now has 19 video production & autonomous editing tools. FFmpeg and TTS run on your machine — no cloud render costs.
Related MCP server: short-video-maker
Other connection methods
Cloned repo (contributors / local dev)
git clone https://github.com/AMG555/FrameForge.git && cd FrameForge && npm run doctor && npm run setup{
"mcpServers": {
"frameforge": {
"command": "node",
"args": ["/absolute/path/to/FrameForge/src/mcp-server/stdio.js"]
}
}
}Remote URL (Cloudflare Workers — FFmpeg must run separately)
Deploy once to Cloudflare (free):
cd cloudflare-mcp && npm install
wrangler secret put WORKER_API_URL # your FrameForge backend URL
wrangler secret put MCP_AUTH_TOKEN # any random 32-char string
wrangler deploy{
"mcpServers": {
"frameforge": {
"url": "https://video-mcp.YOUR_SUBDOMAIN.workers.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_MCP_AUTH_TOKEN" }
}
}
}Make your first video
New to FrameForge? Read START_HERE.md — it's a single file you paste into any IDE chat that starts a guided conversation: the agent asks what you want to make, produces a beat sheet for your approval, then drives the full pipeline.
Once connected, tell your IDE:
"Make a 60-second explainer video about how GPS works"
Or call the tool directly:
create_video_from_script({
scenes: [
{
narration: "GPS works by triangulating signals from at least four satellites.",
caption: "GPS TRIANGULATION",
visual_description: "satellite orbiting earth, flat illustration, bold colors"
},
{
narration: "Your phone measures tiny timing differences to pinpoint your location.",
caption: "YOUR LOCATION",
visual_description: "phone with pin on map, white background, minimal"
}
],
title: "How GPS Works"
})Output lands in .frameforge-files/:
final_video_<id>.mp4 → 1080p landscape master
short_1_<id>.mp4 → auto-extracted 9:16 vertical Short
video_meta.json → title, description, tags, chaptersNo API keys required for this path. edge-tts (voice) runs offline and visual cards render procedurally via FFmpeg/Playwright. 100% deterministic, zero diffusion flaws.
Two ways to use it
Your IDE writes the script — no LLM key needed
Your IDE's model writes the scenes. FrameForge runs FFmpeg, TTS, and code-driven kinetic animations or user media. Use create_video_from_script. This is the fastest path and what most people want.
FrameForge researches and scripts itself
For batch runs or when running without an IDE. Requires a free LLM key (Groq or Gemini both have free tiers).
npm run make -- --topic "How does GPS actually work?"Bring your own media
Skip AI generation for any scene by supplying your own files:
{
"narration": "Here is the sorting algorithm running step by step.",
"caption": "ALGORITHM",
"video_path": "/recordings/screen_capture.mp4",
"audio_path": "/recordings/my_voice.mp3"
}Any combination of image_path, video_path, audio_path works — FrameForge only generates what you don't supply.
Tools
19 tools, grouped by what you're doing:
Make a video from your own script (no LLM key)
Tool | What it does |
| Full render from scenes you provide — voice, procedural motion graphics / custom code, FFmpeg, quality gate |
| Autonomous local video editor — cut, trim, speed-ramp, color-grade, reframe (16:9 / 9:16 / 1:1), add captions, apply xfade transitions, and mix audio |
| Import your own clips, images, and audio into a scenes manifest |
| Update captions, swap media files, or append scenes to a manifest |
| Re-render from an existing manifest, skipping research and scripting |
| FFmpeg render + quality gate — produces the master MP4 |
| Generate voice audio for one scene |
| Override TTS provider per call without touching |
| Generate one scene image via the configured image provider |
| Deliver the finished video via file copy or HTTP webhook |
| Bridge to ElevenLabs, Runway, VoxForge, or local FFmpeg editor fallback |
| Bridge/import into DaVinci Resolve, Premiere Pro, After Effects, Remotion, or CapCut |
Auto-research pipeline (needs a free LLM key)
Tool | What it does |
| Research any topic and extract fact-checked claims |
| Generate a structured scene script from research claims |
| Queue a full research → render → publish run; returns |
| Poll a queued job for |
Code-driven animated video (Playwright + FFmpeg)
Tool | What it does |
| Create a project where every frame is a pure function of time |
| Check |
| Run the Playwright renderer: sheet / strip / storyboard / crop / full |
Providers
Switch any provider with one .env change — no code changes.
Voice (TTS)
Provider | Free? | Key needed |
| ✅ free, offline | none — default |
| ✅ free, local/private | none — |
| paid |
|
| paid |
|
| paid |
|
| — |
|
Set PROVIDER_TTS=<name>.
Visuals & Media
FrameForge is code-driven first: scenes render via crisp vector animations, kinetic typography, and user-provided media (clips, b-roll, photos) — zero diffusion artifacts, zero AI slop, 100% deterministic.
Visual Mode / Provider | Type | Key needed |
| Default — kinetic cards, typography, spring motion | none — recommended default |
| User-supplied | none |
| Optional AI diffusion (opt-in via | none |
| Optional AI diffusion (fast FLUX) |
|
| Optional AI diffusion (FLUX-schnell) |
|
| Optional AI diffusion (DALL-E 3) |
|
| Custom image/video generation endpoint |
|
Set ENABLE_AI_IMAGES=true or pass --ai-images only if you explicitly want AI diffusion images. Default is clean code-driven animation.
LLM — only for the auto-research path
Skip entirely when using
create_video_from_script.
Provider | Free? | Key needed |
| ✅ free tier |
|
| ✅ free tier |
|
| ✅ fully local | none — set |
| pay per use |
|
| paid |
|
| paid |
|
Set PROVIDER_LLM=<name>.
Quality gates
Every video passes 7 checks before delivery. Any failure blocks the output.
Check | Requirement |
Resolution | 1920×1080 landscape or 1080×1920 portrait |
Video codec | H.264, high profile, yuv420p |
Loudness | −14 LUFS ± 1.5 LU (broadcast standard) |
True peak | ≤ −0.5 dBTP |
Black frames | None longer than 0.5 s |
Frozen frames | None longer than 0.5 s |
File integrity | > 1 MB, valid video + audio streams |
CLI commands
Via npx (no clone needed):
Command | What it does |
| Interactive key wizard — saves to |
| Check Node, FFmpeg, edge-tts, and env vars |
| Full pipeline: research → render → deliver |
Via cloned repo:
Command | What it does |
| Check Node, FFmpeg, edge-tts, and env vars |
| Interactive key wizard — writes |
| Start MCP server on port 3210 |
| stdio MCP server for direct IDE connection |
| Full pipeline: research → render → deliver |
| Deep structural validation (113 checks) |
| Test suite (512 tests) |
Architecture
YOUR IDE (Bob / Codex / opencode / Cursor / Windsurf / Claude Code)
│
│ HTTPS + SSE (Cloudflare Remote MCP — optional)
▼
[Cloudflare Worker] proxies tool calls, keeps IDE context lean
│
│ HTTP + INTERNAL_API_TOKEN
▼
[FrameForge Node] runs on VPS / Pi / your machine / Render.com
│
├─ src/mcp-server/ 17 MCP tools
├─ src/workflows/ research → script → assets → render → publish
├─ src/pipeline/ state machine, retry, telemetry, manifest
├─ src/video-renderer/ FFmpeg scene render + concat
├─ src/audio-mixer/ LUFS normalise, sidechain ducking
└─ src/quality-gate/ 7-point output validationSecurity
Timing-safe auth — all token comparisons use
crypto.timingSafeEqualSSRF protection — webhook and pipeline URLs validated against RFC-1918 / loopback / link-local blocklist
Path traversal guards —
productionId,audioPath,localPathvalidated before any file I/OCLI injection guards — animation timestamps allowlisted before passing to
render.mjsWorker API auth —
INTERNAL_API_TOKENBearer check on all internal routesBody size limits — all HTTP servers reject requests > 4 MB with HTTP 413
Credential redaction — 14+ regex patterns strip API keys from all logs
Report vulnerabilities: SECURITY.md
Deployment
npx (no install — recommended for users):
npx --package=@amg555/frameforge-mcp frameforge-setup
# then add the IDE config from the quickstart aboveVPS / Pi / self-hosted (cloned repo):
git clone https://github.com/AMG555/FrameForge.git && cd FrameForge
cp docs/env.template .env # edit with your keys
npm run mcpSee docs/deployment.md for Docker, systemd, and Render.com setup.
Testing
npm test # 512 tests, 0 failures
npm run validate # 113 structural checksContributing
See CONTRIBUTING.md.
npm run doctorpasses on your OSnpm testpasses (512/512)npm run validatepasses (113/113)FFmpeg commands keep
-nostdinand cross-platform font paths
License
MIT — see LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Build, run, schedule, and publish AI video pipelines to YouTube and TikTok from any MCP client.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
AI video producer: directs your idea or script into a finished, fact-checked video. MCP-native.
Give AI agents a creator's video pipeline: Shorts, thumbnails and YouTube publishing.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that turns a script into a Hyperplexed-style motion-graphics MP4. Plug the URL into Claude Desktop, Cursor, or any MCP-compatible agent and it gains a render_video tool.MIT
- AlicenseNot gradedqualityDmaintenanceAutomated short-form video creation from text prompts, combining text-to-speech, captions, background videos, and music, exposed as an MCP server for AI agents.102 npmMIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives agents a video engine for cutting beat-synced 9:16 shorts from existing footage, generating original short films from a prompt, and swapping characters in a clip while preserving motion and sound. It handles the deterministic work — scene detection, tracked crops, captions and rendering — while generation runs on private Hugging Face ZeroGPU Spaces in the user's own account.3Apache 2.0

aicut MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables generating AI videos, images, audio, and staged story episodes directly from Claude, ChatGPT, Cursor, Grok, or any MCP client, with 61 tools covering model catalogs, generation jobs, and media transforms such as upscaling, lipsync, motion control, and video editing. Hosted over Streamable HTTP with OAuth sign-in, so no API key or local installation is required.MIT