video-mcp
video-mcp
Каркас фазы 2a — только заглушки, интеграция с реальным API еще не выполнена. Интеграция с Veo появится в фазе 2a.2.
Асинхронный MCP-сервер для генерации видео с поддержкой нескольких провайдеров.
Статус
⚠️ Это каркас фазы 2a. Все провайдеры возвращают ответы-заглушки — фиктивные ID заданий, которые проходят путь от
submitted(отправлено) →pending(в ожидании) →complete(выполнено) примерно через 2 секунды реального времени. Реальные видеофайлы не генерируются. Интеграция с реальным 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_statusD021: Структура 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). Вызов
get_job_status с этим ID вернет status: pending примерно на 2 секунды, затем status: complete
с плейсхолдером output_url. Реальное видео не создается.
Настройка
Необходимые переменные окружения:
Переменная | Назначение |
| Провайдер 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