mcp-video-gen
Provides tools for generating videos with Google Veo (including image-to-video), text-to-speech with Chirp 3 HD, instrumental music generation with Lyria, and speech-to-text transcription with Chirp 2 via Google Cloud.
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., "@mcp-video-genCreate a short video of a beach sunset"
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.
mcp-video-gen
Features
7 video providers — Volcengine Ark Seedance, DashScope/Wan, Kling, SiliconFlow, Vidu, MiniMax, Google Veo (2/3/3.1)
Image-to-video — generate videos from reference images (Veo)
TTS — text-to-speech via MiniMax (+ Google Chirp 3 HD with ADC)
Music generation — MiniMax Music + Google Lyria (instrumental, ~33s, GCP credits)
Speech-to-text — transcribe audio with word-level timestamps via Google Chirp 2 (for subtitle generation)
Ark migration ready — Volcengine Ark Seedance is available via
ARK_API_KEY/ARK_VIDEO_*Provider switching — choose the best provider per request via
providerparameterAuto-download — generated videos/audio saved to local disk automatically
Related MCP server: imagine-mcp
Architecture
How It Works
User Prompt → AI Assistant (Claude / Cursor) → MCP Server → Provider API
↓
generate_video() → task_id
query_video_status(task_id) → download to diskAll video providers use an async pattern: submit a generation request, get a task ID, then poll until complete. The MCP server handles this transparently — the AI assistant calls generate_video, then query_video_status in a loop until the video is ready.
Supported Providers
Video Providers
Provider | Model | Free Tier | Quality | Duration | Best for |
Volcengine Ark Seedance | doubao-seedance-2.0 | Paid video API | 720p+ | 5-10s | Ark migration, Doubao/Seedance workflows |
DashScope / Wan (通义万相) | wan2.6-t2v | 50s free (90 days) | Up to 1080P | 5-10s | High quality, Chinese content |
Kling AI (可灵) | kling-v2-master | 66 credits/day (web only) | 720p | 5-10s | Good quality, daily free credits |
SiliconFlow (硅基流动) | Wan2.1-T2V-14B | $1 signup bonus | 720p | varies | Quick testing |
Vidu (生数科技) | vidu-2.0 | 200 promo credits | 720p | 4s | Short clips |
MiniMax Hailuo (海螺) | Hailuo 2.3 | Paid | Up to 1080P | 6-10s | Highest quality |
Google Veo (Vertex AI) | veo-2.0/3.0/3.1 | GCP credits | 720p-4K | 5-8s | Production quality, GCP users |
Provider selection guide
Need a video?
├─ Using Volcengine Ark?
│ └─ ark ✅ (Seedance video task API)
│
├─ Need highest quality?
│ ├─ minimax (best Chinese provider, paid)
│ └─ veo (best international, GCP credits)
│
├─ Have GCP credits to spend?
│ ├─ Budget-conscious → veo-3.0-fast ($0.15/sec, 1080p)
│ └─ Best quality → veo-2.0 ($0.50/sec) or veo-3.0 ($0.75/sec)
│
└─ Need long videos (10s)?
├─ dashscope / kling / minimax (support 10s)
└─ veo max 8sAudio Providers
Provider | Capability | Model | Pricing | Env Var |
MiniMax TTS | Text-to-Speech | speech-2.6-hd | ~¥0.01/req |
|
Google TTS | Text-to-Speech | Chirp 3 HD (52 languages) | ~$30/1M chars | ADC only |
MiniMax Music | Music Generation (with lyrics) | music-2.0 | ~¥0.1/song |
|
Google Lyria | Instrumental Music | lyria-002 (~33s WAV) | ~$0.06/clip |
|
Transcription
Provider | Capability | Model | Pricing | Env Var |
Google STT | Speech-to-Text + timestamps | Chirp 2 | ~$0.016/min |
|
MiniMax tools auto-enable when
MINIMAX_API_KEYis setGoogle Lyria and STT auto-enable when
GCP_PROJECT_IDis set (usesGEMINI_API_KEY)Google TTS requires ADC (
gcloud auth application-default login)
Quick Start
1. Clone & install
git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync # basic deps
uv sync --extra gcp # add this if using Google Veo2. Configure MCP
Only configure the providers you want to use. At least one API key is required.
# Minimal Ark setup
claude mcp add -s user mcp-video-gen \
--env ARK_API_KEY=your_key \
--env ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128 \
-- uv --directory /path/to/mcp-video-gen run video-gen
# Full (all current providers including Veo)
claude mcp add -s user mcp-video-gen \
--env ARK_API_KEY=your_key \
--env KLING_ACCESS_KEY=your_ak \
--env KLING_SECRET_KEY=your_sk \
--env MINIMAX_API_KEY=your_key \
--env GCP_PROJECT_ID=your-project-id \
--env GEMINI_API_KEY=your_gcp_api_key \
-- uv --directory /path/to/mcp-video-gen run --extra gcp video-genImportant:
--extra gcpmust come afterrun, not before it. This is auv runoption, not a globaluvoption.
{
"mcpServers": {
"mcp-video-gen": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-video-gen", "run", "--extra", "gcp", "video-gen"],
"env": {
"ARK_API_KEY": "your_key",
"ARK_VIDEO_MODEL": "doubao-seedance-2-0-fast-260128",
"GCP_PROJECT_ID": "your-project-id",
"GEMINI_API_KEY": "your_gcp_api_key"
}
}
}
}3. Use it
Ask your AI assistant to generate a video:
"Generate a video of a cat playing piano"The assistant will call generate_video, wait, then call query_video_status to download the result.
Tools (7 total)
Video
generate_video — Text-to-video or image-to-video generation. Params:
prompt,provider,duration(5/10),aspect_ratio(16:9/9:16/1:1),image_url(for img2vid, Ark/Veo),model(optional provider model ID).query_video_status — Poll generation status and auto-download. Params:
task_id,provider.
For Veo image-to-video, reference images may be local files, gs:// URIs, or public HTTP(S) URLs. Localhost, .local, and private/loopback IP-literal URLs are rejected, remote TLS certificates are verified, and reference images are limited to 20 MiB.
Audio
generate_speech — Text-to-speech. Params:
text,provider(minimax/google-tts),voice_id,speed(0.5-2.0).generate_music — AI music generation. Params:
prompt,provider(minimax/google-lyria),lyrics(optional, supports[Verse]/[Chorus]/[Bridge]).
Transcription
transcribe_audio — Speech-to-text with word-level timestamps (Google Chirp 2). Params:
audio_path,language_code(en-US/cmn-CN/ja-JP/...). Use withffmpeg add_subtitlesfor full subtitle pipeline.
Utility
list_providers — Show all configured video, TTS, music, and STT providers, including default video models.
resources — Read
providers://models/<provider>for a provider model catalog and supported model IDs.
API Key Registration Guide
Item | Detail |
Platform | Volcengine Ark |
URL | |
Pricing | Ark video generation billing; may not be covered by CodingPlan chat quota |
Env Var |
|
Steps:
Create or reuse a Volcengine Ark API key.
Set
ARK_API_KEYfor shared Ark credentials, orARK_VIDEO_API_KEYif you want a video-specific key.Optional: set
ARK_VIDEO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3.Optional: set
ARK_VIDEO_MODEL=doubao-seedance-2-0-fast-260128.
The Ark video provider calls
/contents/generations/tasks. It does not use the CodingPlan chat completions endpoint.
Item | Detail |
Platform | 阿里云百炼 (Alibaba Bailian) |
URL | |
Free Tier | 50 seconds free (valid 90 days) |
Env Var |
|
Steps:
Register at https://www.aliyun.com (phone/email)
Go to https://bailian.console.aliyun.com → activate DashScope
API-KEY 管理: https://bailian.console.aliyun.com/?apiKey=1#/api-key
Click "创建 API Key" → copy (format:
sk-xxxxxxxxxxxxxxxx)
Item | Detail |
Platform | Kling AI Developer Platform |
URL | |
Free Tier | 66 credits/day (web only); API requires purchased resource pack |
Env Vars |
|
Steps:
Sign up at https://klingai.com
Developer Console: https://app.klingai.com/global/dev/document-api/quickStart/userManual
Settings > API Keys → create key pair (Access Key + Secret Key)
Important: 66 daily credits are web-only, NOT for API. API requires purchasing a resource pack.
Item | Detail |
Platform | SiliconFlow |
URL | |
Free Tier | $1 bonus (~3 videos at $0.29/video) |
Env Var |
|
Steps:
Register at https://cloud.siliconflow.cn/account/login (Chinese phone)
API Keys: https://cloud.siliconflow.cn/account/ak → "新建 API Key"
Copy (format:
sk-xxxxxxxxxxxxxxxx)
Video download URLs expire in 10 minutes — the MCP server auto-downloads on query.
Item | Detail |
Platform | Vidu Platform |
URL | |
Free Tier | Apply for 200 free API credits (promotional) |
Env Var |
|
Steps:
Sign up at https://www.vidu.com → API Platform: https://platform.vidu.com
Create API key → copy
API credits are separate from web credits (800/month web credits don't apply to API).
Item | Detail |
Platform | MiniMax Open Platform |
URL | |
Free Tier | None. ~¥0.7/video (512P 6s) to ~¥3.7/video (1080P 6s) |
Env Vars |
|
Steps:
Register at https://platform.minimaxi.com (Chinese phone)
Complete real-name verification (实名认证)
Create API key (format:
sk-api-xxxxxxxxxxxxxxxx)Top up at billing center (min ~¥10)
Setting
MINIMAX_API_KEYalso enables TTS and music generation tools.
Item | Detail |
Platform | Google Cloud Vertex AI |
URL | |
Free Tier | No free tier. Uses GCP credits/billing. |
Env Vars |
|
Prerequisites:
GCP project with billing: https://console.cloud.google.com/projectcreate
Enable Vertex AI API: https://console.cloud.google.com/apis/library/aiplatform.googleapis.com
GCP API Key: https://console.cloud.google.com/apis/credentials
Models:
Model | Resolution | Pricing | Best for |
| 720p | ~$0.50/sec | Stable, GA |
| 1080p | ~$0.75/sec | High quality |
| 1080p | ~$0.15/sec | Cost-effective |
| 4K | ~$0.75/sec | Highest quality |
| 1080p | ~$0.10/sec | Best value ✅ |
Auth options:
GCP API Key (recommended) — set
GEMINI_API_KEY=your_gcp_api_key. Simplest setup, no extra deps.OAuth2 / ADC — run
gcloud auth application-default login. Requires--extra gcpforgoogle-auth.
Optional env vars:
Variable | Default | Description |
|
| Model to use |
| — | GCS bucket for output (omit for base64 inline) |
|
| Vertex AI region |
| — | GCP API key (shared with mcp-image-gen) |
Environment Variables
Variable | Provider | Required |
| Volcengine Ark Seedance | At least one provider |
| Volcengine Ark Seedance | Optional video-specific override |
| Volcengine Ark Seedance | Optional, default: |
| Volcengine Ark Seedance | Optional, default: |
| Volcengine Ark Seedance | Optional, default: |
| All providers | Optional, default prefers |
| Wan / DashScope (阿里) | must be configured |
| Kling AI (可灵) | |
| Kling AI (可灵) | |
| SiliconFlow (硅基流动) | |
| Vidu (生数) | |
| MiniMax (海螺 + TTS + Music) | |
| MiniMax | Optional, default: |
| Google Veo | Required for Veo |
| Google Veo | Recommended for Veo (or use ADC) |
| Google Veo | Optional, default: |
| Google Veo | Optional, default: |
| Google Veo | Optional, GCS bucket for video output |
| All providers | Optional, default: |
Troubleshooting
Common Errors
Error | Provider | Root Cause | Solution |
| All | No API keys set | Set at least one provider's API key in MCP env config |
| All | Typo or provider not configured | Check |
| All | Video not ready yet | Normal — call |
Provider-Specific Errors
Error | Provider | Solution |
| Kling | Check both |
| MiniMax | Check API key, ensure account has balance |
| Veo | Set |
| Veo | Vertex AI rate limit (10 RPM). Wait 1 min or switch model via |
| Veo | Content flagged — rephrase prompt to avoid restricted content |
Veo-Specific Notes
API Key vs ADC:
GEMINI_API_KEYis the simplest auth method. Same key works for both mcp-image-gen and mcp-video-gen.--extra gcpplacement: Must come afterrunin the uv command:uv --directory /path run --extra gcp video-gen(NOTuv --directory /path --extra gcp run video-gen)Base64 mode: Without
VEO_GCS_BUCKET, videos are returned as base64 in the API response and decoded locally. Works well for videos under 8s.Cost control: The default is
veo-3.1-fast-generate-001for lower-cost 1080p output. OverrideVEO_MODELor passmodeltogenerate_videofor a specific request.
Download Issues
Issue | Solution |
| Video URL may have expired. SiliconFlow URLs expire in 10 min. |
Video file is 0 bytes | Provider returned empty response. Retry generation. |
SSL verification errors | Server disables SSL verify for downloads (some providers use self-signed certs) |
Project Structure
src/video_gen/
├── __init__.py
├── server.py # MCP server + tool handlers
├── providers/
│ ├── __init__.py # BaseProvider abstract class + registry
│ ├── dashscope.py # 阿里 通义万相 Wan 2.6
│ ├── kling.py # 可灵 Kling AI (JWT auth)
│ ├── siliconflow.py # 硅基流动 SiliconFlow
│ ├── vidu.py # 生数 Vidu
│ ├── minimax.py # MiniMax 海螺
│ └── veo.py # Google Veo (Vertex AI, API key + ADC)
└── audio/
├── __init__.py # BaseTTSProvider + BaseMusicProvider + registry
├── minimax_tts.py # MiniMax TTS (speech-2.6-hd)
├── minimax_music.py # MiniMax Music (music-2.0)
├── google_lyria.py # Google Lyria 2 instrumental music (Vertex AI)
├── google_tts.py # Google Cloud TTS Chirp 3 HD (ADC only)
└── google_stt.py # Google Cloud STT Chirp 2 (transcription)Adding a New Provider
Create
src/video_gen/providers/your_provider.pyImplement
BaseProvider(properties:name,description,free_tier_info; methods:generate(),query())Register in
server.py:_init_providers()with env var checkProvider appears automatically in
list_providers,providers://models/<provider>, and thegenerate_videotool schema
Local Development
git clone https://github.com/kevinten-ai/mcp-video-gen.git
cd mcp-video-gen
uv sync --extra gcp # all deps including google-auth
# Run directly
uv run video-gen
# Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run --extra gcp video-genRelated Projects
mcp-image-gen — AI image generation MCP server (Gemini + Imagen)
mcp-3d-gen — AI 3D model generation MCP server
License
MIT — see LICENSE for details.
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 Servers
- AlicenseAqualityDmaintenanceMCP server for multi-provider AI image generation (AWS Bedrock, OpenAI, Google Gemini) enabling image generation, transformation, and editing through a unified interface.Last updated41MIT
- AlicenseBqualityAmaintenanceProduction-grade MCP server for image and video understanding and generation across Gemini, OpenAI, and Grok.Last updated54Apache 2.0
- AlicenseAqualityBmaintenanceOne MCP server for music, image, video, and audio generation across Suno, Grok Imagine, Seedance, Kling, Hailuo, Wan, VEO, Ideogram, and GPT Image 2. Generate, edit, upscale, reframe, and master through one API key and one credit pool.Last updated16515MIT
- AlicenseAqualityCmaintenanceMulti-provider media generation MCP server that generates images, videos, audio, and transcriptions from text prompts using OpenAI, xAI, Gemini, ElevenLabs, and BFL through a single unified interface.Last updated6691MIT
Related MCP Connectors
MCP server for Wan AI video generation
MCP server for Google Veo AI video generation
MCP server for Kling AI video generation
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/ZenforceTaiji/MCP-AI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server