Skip to main content

video-generation-mcp

An MCP server that makes narrated "tech explained" reels for Facebook, Instagram and YouTube Shorts: script → Gemini voice → line timings → 3D (three.js) or 2D visuals → background render → music mix → final mp4. It also makes white editorial image posts, step-by-step infographics, thumbnails, captions and other formats.

Built with FastMCP for Claude Desktop, Claude Code and any MCP client.

Tools (39)

Area Tools
Overview list_reels, reel_status, studio_doctor
Reel + script create_reel, write_script, check_script, write_caption_file
Voice generate_voice, speak_script, speak, import_voice
Timing align_voice, set_line_times
Code + assets list_files, read_file, write_file, add_asset, list_templates, save_as_template
Look before rendering render_stills (contact sheet image), safe_zone_check
Render start_render, render_status, cancel_render, finish_reel
Music set_music (calm, upbeat, tense, ambient, none), import_music
After rendering preview_video, check_audio, add_captions, make_thumbnail, export_formats, trim_or_speed, compress_video
Image posts render_image_post, render_infographic
Planning + cleanup log_topic, list_topics, clean_reel

A typical reel: create_reel → write_script → check_script → generate_voice → align_voice → write_file (3d/world.js, 3d/shots.js) → render_stills → safe_zone_check → start_render → render_status → preview_video.

Install

Requirements: Python 3.10+, uv, ffmpeg (with libass for burned captions).

cp .env.example .env            # set BX_STUDIO_DIR and GEMINI_API_KEY
uv sync
uv run playwright install chromium
uv run video-generation-mcp doctor

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

"video-generation-mcp": {
  "command": "uv",
  "args": ["run", "--directory", "/path/to/studio-mcp", "video-generation-mcp"]
}

Configuration

Variable Default Meaning
BX_STUDIO_DIR required Studio folder with reels/, posts/, templates/, topics.json
GEMINI_API_KEY — Text-to-speech key (also read from <studio>/.env)
BX_VOICE / BX_TTS_MODEL Iapetus / gemini-2.5-flash-preview-tts Default voice and model
BX_GL auto gpu (macOS default), swiftshader (software)
BX_FPS / BX_WORKERS 24 / 2 Render frame rate and parallel browser workers
BX_FOOTNOTE Simulated · illustration Small footnote on 3D frames
MCP_TRANSPORT, MCP_HOST, MCP_PORT stdio, 127.0.0.1, 8000 Server transport

Run video-generation-mcp --read-only to expose only the tools that don't write files.

Docs

Development

uv sync
uv run pytest              # 62 tests; browser/ffmpeg tests skip when those are missing
uv run ruff check src tests && uv run mypy

Metadata

Release files for video-generation-mcp 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for video-generation-mcp 0.2.1
File Size Uploaded Provenance
video_generation_mcp-0.2.1.tar.gz 597.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for video-generation-mcp 0.2.1
File Interpreter ABI Platform
video_generation_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / video_generation_mcp-0.2.1.tar.gz

Download URL video_generation_mcp-0.2.1.tar.gz
Size 597.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1f80f30e3ba5014f4973bec00dbfdf490308ba5627db5bfd4f5b22d28b410b2f
BLAKE2b-256 checksum
How to use checksums
0deae61afb6b0e1d64b7bc108762c639dc943129037619a222e0ee1cb59a9e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.4 {"installer":{"name":"uv","version":"0.11.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / video_generation_mcp-0.2.1-py3-none-any.whl

Download URL video_generation_mcp-0.2.1-py3-none-any.whl
Size 610.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1a75d81fc01ee45f6f6eb843df305bc65581c312cd8218c29fe66b14950d14d
BLAKE2b-256 checksum
How to use checksums
eebf06f1e5e6213ddee92543763ca0bf9d2b783f599e139006991c88eee39bc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.4 {"installer":{"name":"uv","version":"0.11.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for video-generation-mcp 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page