VideoGen Advisor
FreeNot checkedA unified MCP server for video generation that intelligently routes requests to HeyGen (for avatar/presenter videos) or Google Veo (for creative/cinematic conte
About
A unified MCP server for video generation that intelligently routes requests to HeyGen (for avatar/presenter videos) or Google Veo (for creative/cinematic content).
README
A unified MCP server for video generation that intelligently routes requests to either HeyGen (for avatar/presenter videos) or Google Veo (for creative/cinematic content).
Features
- Intelligent Routing: Automatically selects the best service based on prompt content
- HeyGen Integration: Avatar-based videos, custom voices, templates
- Google Veo Integration: Cinematic content, image-to-video, creative visuals
- Unified Interface: Single
generate_videotool with automatic service selection - Full Control: Direct access to service-specific tools when needed
Installation
pip install m2ai-mcp-videogen-advisor
Configuration
Set your API keys as environment variables:
export HEYGEN_API_KEY=your_heygen_api_key_here
export GEMINI_API_KEY=your_gemini_api_key_here
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"videogen": {
"command": "videogen-advisor",
"env": {
"HEYGEN_API_KEY": "your_heygen_key",
"GEMINI_API_KEY": "your_gemini_key"
}
}
}
}
Or run directly with Python:
{
"mcpServers": {
"videogen": {
"command": "python",
"args": ["-m", "videogen_mcp.server"],
"env": {
"HEYGEN_API_KEY": "your_heygen_key",
"GEMINI_API_KEY": "your_gemini_key"
}
}
}
}
Available Tools
Unified Interface (3 tools)
| Tool | Description |
|---|---|
generate_video |
Generate video with intelligent routing to HeyGen or Veo |
get_video_status |
Check job status (works for both services) |
download_video |
Get download URL for completed video |
HeyGen-Specific (6 tools)
| Tool | Description |
|---|---|
list_avatars |
List available avatars (stock + custom) |
list_voices |
List available voices for avatar videos |
create_avatar_video |
Create video with specific avatar/voice |
list_templates |
List available video templates |
get_template_details |
Get template variables and details |
generate_from_template |
Generate video from template |
Veo-Specific (2 tools)
| Tool | Description |
|---|---|
generate_creative_video |
Generate cinematic video with full Veo controls |
generate_video_from_image |
Animate a static image into video |
Usage Examples
Automatic Routing
"Create a video where someone presents our Q4 results"
→ Routes to HeyGen (presenter/speaking content)
"Cinematic aerial shot of mountains at sunset"
→ Routes to Veo (creative/visual content)
Explicit Service Selection
# Force HeyGen
generate_video(
prompt="Create any video",
service_hint="heygen"
)
# Force Veo
generate_video(
prompt="A tutorial video",
service_hint="veo"
)
HeyGen Avatar Video
# 1. List avatars and voices
avatars = list_avatars(filter_gender="female")
voices = list_voices(filter_language="en")
# 2. Create video
job = create_avatar_video(
script="Hello! Welcome to our company.",
avatar_id="Angela-inblackskirt-20220820",
voice_id="1bd001e7e50f421d891986aad5158bc8",
background={"type": "color", "value": "#0066CC"},
aspect_ratio="16:9"
)
# 3. Poll for completion
status = get_video_status(job_id=job["job_id"], service="heygen")
# 4. Download when complete
result = download_video(job_id=job["job_id"], service="heygen")
Veo Creative Video
# Generate cinematic content
job = generate_creative_video(
prompt="A slow dolly shot through a neon-lit Tokyo alley at night, rain reflections, cinematic color grading",
negative_prompt="blurry, low quality, text overlays",
aspect_ratio="16:9",
duration=8,
model="veo-3.1-generate-preview"
)
# Poll and download
status = get_video_status(job_id=job["job_id"], service="veo")
result = download_video(job_id=job["job_id"], service="veo")
Image to Video
# Animate a still image
job = generate_video_from_image(
image_url="https://example.com/product-photo.jpg",
prompt="Slow zoom in with subtle product rotation",
duration=6
)
Routing Logic
The generate_video tool uses keyword detection to route requests:
HeyGen triggers (avatar/presenter content):
- speak, present, explain, tutorial, avatar, host, narrator
- talking, announce, introduce, walk through, demo, spokesperson
Veo triggers (creative/cinematic content):
- cinematic, scene, visual, b-roll, animation, shot, footage
- landscape, abstract, artistic, dramatic, aerial, timelapse
Ambiguous prompts default to Veo unless avatar/presenter language is detected.
Video Wait Times
- HeyGen: 1-5 minutes (varies by content length)
- Veo: 2-10 minutes (varies by complexity)
Poll get_video_status until status is completed or failed.
Error Handling
All tools return structured error objects:
{
"error": true,
"code": "QUOTA_EXCEEDED",
"message": "API credits exhausted. Check your account."
}
Common error codes:
AUTH_FAILED- Invalid API keyQUOTA_EXCEEDED- API credits exhaustedINVALID_AVATAR/INVALID_VOICE- ID not foundCONTENT_BLOCKED- Safety filter triggeredVIDEO_NOT_READY- Generation still in progressJOB_NOT_FOUND- Invalid job ID
Development
# Run tests
pytest
# Run tests with coverage
pytest --cov=videogen_mcp
# Type checking
mypy src/
# Linting
ruff check src/ tests/
License
MIT License
Credits
- HeyGen API
- Google Veo API
- Generated by GRIMLOCK MCP Factory
Installing VideoGen Advisor
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/m2ai-mcp-servers/mcp-videogen-routerFAQ
Is VideoGen Advisor MCP free?
Yes, VideoGen Advisor MCP is free — one-click install via Unyly at no cost.
Does VideoGen Advisor need an API key?
No, VideoGen Advisor runs without API keys or environment variables.
Is VideoGen Advisor hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install VideoGen Advisor in Claude Desktop, Claude Code or Cursor?
Open VideoGen Advisor on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolgpu-bridge/mcp-server
Unified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
by gpu-bridgehamflx/imagen3-mcp
A powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,
by hamflxmerterbak/Grok-MCP
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
by merterbakSureScaleAI/openai-gpt-image-mcp
OpenAI GPT image generation/editing MCP server.
by SureScaleAIYangLiangwei/PersonalizationMCP
Comprehensive personal data aggregation MCP server with Steam, YouTube, Bilibili, Spotify, Reddit and other platforms integrations. Features OAuth2 authenticati
by YangLiangweiAceDataCloud/MCPFlux
Flux AI image generation and editing (Black Forest Labs) via Ace Data Cloud API.
by AceDataCloudCompare VideoGen Advisor with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
