video-mcp
video-mcp
フェーズ2aスケルトン — スタブのみ、ライブAPI接続は未実装。 Veoのライブ接続はフェーズ2a.2で実装予定です。
マルチプロバイダー対応の非同期動画生成MCPサーバー。
ステータス
⚠️ これはフェーズ2aのスケルトンです。 すべてのプロバイダーはスタブ応答を返します。これは、約2秒の経過時間後に
submitted→pending→completeへと遷移する偽のジョブIDです。 実際の動画データは生成されません。Veo 3.1のライブ接続が次のマイルストーン(フェーズ2a.2)となります。
Related MCP server: hyper-video-service
目的
複数のバックエンドプロバイダーを使用した非同期動画生成のためのMCPインターフェースを提供します。amplifier-bundle-creative オーケストレーションバンドルでの使用を想定して設計されています。
関連リンク
仕様 + 決定ログ: https://github.com/michaeljabbour/amplifier-bundle-creative/blob/main/spec/DECISIONS.md
D018: 非同期パターン —
generate_videoは即座にjob_idを返し、呼び出し元はget_job_statusを介してポーリングしますD021: VideoProvider ABC形状 (本リポジトリの
src/providers/base.py)
兄弟プロジェクトの画像MCP: https://github.com/michaeljabbour/imagen-mcp (画像生成)
プロバイダー
プロバイダー | ステータス | 備考 |
Veo 3.1 Standard | スタブ — ライブ接続待ち | $0.40/秒, 4K, 最高品質のリップシンク |
Veo 3.1 Fast | スタブ — ライブ接続待ち | $0.15/秒, 1080p, 高速イテレーション |
Veo 3.1 Lite | スタブ — ライブ接続待ち | $0.05/秒, 720p/1080p, 大量生成向け |
Grok Imagine Video | スタブのみ — NotImplementedErrorを発生 | D019: xAI DPA/MSA待ち |
Sora 2 Pro | スタブのみ — NotImplementedErrorを発生 | D010: API EOL 2026-09-24 |
スタブの動作: Veoスタブは偽の job_id (例: stub_veo_standard_abc123) を返します。そのIDで get_job_status を呼び出すと、約2秒間は status: pending を返し、その後プレースホルダーの output_url を含む status: complete を返します。実際の動画は生成されません。
セットアップ
必要な環境変数:
変数 | 目的 |
| Veo 3.1プロバイダー (ライブ接続待ち) |
オプション:
変数 | デフォルト | 目的 |
| — | Grok Imagine Video (制限付き — D019を参照) |
|
| 基本出力ディレクトリ |
|
| リクエストタイムアウト(秒) |
|
| プロンプト全体をイベントログに記録 |
クイックスタート
generate_video
動画生成ジョブを送信します(即座に job_id を返します):
{
"tool": "generate_video",
"params": {
"prompt": "A serene mountain lake at golden hour, camera slowly panning right",
"provider": "veo-3.1-standard",
"duration": 8.0,
"aspect_ratio": "16:9"
}
}レスポンス:
## ✅ Video Job Submitted
**Provider:** veo-3.1-standard
**Job ID:** `stub_veo_standard_a1b2c3d4e5f6`
**Status:** submitted
### ⏰ Polling Instructions
Call `get_job_status` with job_id `stub_veo_standard_a1b2c3d4e5f6` every ~15 seconds.
Typical completion: 30–120s for live Veo calls (2s for stubs).get_job_status
完了をポーリングします:
{
"tool": "get_job_status",
"params": {
"job_id": "stub_veo_standard_a1b2c3d4e5f6"
}
}レスポンス(スタブで約2秒後):
## ✅ Video Complete
**Job ID:** `stub_veo_standard_a1b2c3d4e5f6`
**Status:** complete
**Progress:** 100%
**Output URL:** https://stub.example.com/video/stub_veo_standard_a1b2c3d4e5f6.mp4プロジェクト構造
video-mcp/
├── src/
│ ├── server.py # MCP entry point — generate_video, get_job_status
│ ├── config/
│ │ ├── constants.py # VEO_MODELS, STUBBED_PROVIDERS, limits
│ │ ├── settings.py # Env-var settings (GEMINI_API_KEY, XAI_API_KEY, ...)
│ │ ├── paths.py # Output path resolution
│ │ └── dotenv.py # .env loader shim
│ ├── providers/
│ │ ├── base.py # VideoProvider ABC, VideoCapabilities, VideoJobResult, JobStore
│ │ ├── veo_provider.py # Veo 3.1 Standard/Fast/Lite stubs
│ │ ├── sora_provider.py # Sora 2 stub (D010)
│ │ ├── grok_provider.py # Grok Imagine stub (D019)
│ │ ├── selector.py # Provider routing (override + default)
│ │ └── registry.py # Provider factory + JobStore routing
│ ├── models/
│ │ └── input_models.py # Pydantic models for MCP tools
│ ├── exceptions.py # VideoError hierarchy
│ └── services/
│ └── logging_config.py # Structured JSONL event logging
└── tests/
├── test_providers.py
└── test_server.py開発
# Clone and install
git clone https://github.com/michaeljabbour/video-mcp.git
cd video-mcp
python3 -m venv venv && source venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Verify server loads
python3 -c "from src.server import mcp; print('Server loads OK')"
# Start server (waits for MCP stdio)
python -m src.serverライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Google Veo AI video generation
MCP server for Wan AI video generation
MCP server for MiniMax H3 multimodal video generation
MCP server for Kling AI video generation
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.735MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for programmatic video generation. Send a prompt, get an MP4.-
- AlicenseAqualityDmaintenanceA unified MCP server for video generation that intelligently routes requests to HeyGen (for avatar/presenter videos) or Google Veo (for creative/cinematic content).11MIT
- AlicenseAqualityCmaintenanceMCP server for Google Veo 3.1 video generation. Supports text/video/image-based generation, extension, and interpolation with cost estimation and batch processing.16426 npm1MIT