Skip to main content
Glama

video-mcp

Каркас фазы 2a — только заглушки, интеграция с реальным API еще не выполнена. Интеграция с Veo появится в фазе 2a.2.

Асинхронный MCP-сервер для генерации видео с поддержкой нескольких провайдеров.

Python 3.10+ License: MIT

Статус

⚠️ Это каркас фазы 2a. Все провайдеры возвращают ответы-заглушки — фиктивные ID заданий, которые проходят путь от submitted (отправлено) → pending (в ожидании) → complete (выполнено) примерно через 2 секунды реального времени. Реальные видеофайлы не генерируются. Интеграция с реальным Veo 3.1 — следующая веха (фаза 2a.2).

Related MCP server: hyper-video-service

Назначение

Предоставляет MCP-интерфейс для асинхронной генерации видео с использованием нескольких бэкенд-провайдеров. Разработан для использования с оркестрационным пакетом amplifier-bundle-creative.

Ссылки по теме

Провайдеры

Провайдер

Статус

Примечания

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. Реальное видео не создается.

Настройка

Необходимые переменные окружения:

Переменная

Назначение

GEMINI_API_KEY

Провайдер Veo 3.1 (интеграция ожидается)

Опционально:

Переменная

По умолчанию

Назначение

XAI_API_KEY

Grok Imagine Video (ограничен — см. D019)

OUTPUT_DIR

~/Downloads/videos/

Базовая директория вывода

VIDEO_MCP_REQUEST_TIMEOUT

300

Тайм-аут запроса в секундах

VIDEO_MCP_LOG_PROMPTS

false

Логировать полные промпты в журнал событий

Быстрый старт

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

Related MCP Connectors

Related MCP Servers