Skip to main content
Glama
rohit050713

Remotion Video Production MCP Server

by rohit050713

Remotion Video Production MCP Server

License: MIT MCP Protocol

Высококлассный сервер Model Context Protocol (MCP), который служит интеллектуальным мостом для AI-агентов, позволяя анализировать музыкальные биты, синтезировать голоса с помощью Google Gemini TTS и программно создавать и рендерить профессиональные видео с использованием Remotion (v4.0+) и React.

Поддерживает ОБА варианта:

  • 💻 Локальный транспорт STDIO: Для локальных AI-клиентов (Antigravity, Claude Desktop, Cursor).

  • 🌐 Удалённый транспорт Streamable HTTP: Для облачных развертываний (Render) и веб-клиентов AI (Claude Web на https://claude.ai/new).


🚀 Ключевые возможности

  • 🎬 Программное создание каркаса: Создавайте видеопроекты React/Remotion без конфигурации со встроенными соотношениями сторон: TikTok/Reels (tiktok-916), YouTube (youtube-169) и Social (social-11).

  • 🎙️ Интеграция Gemini 3.1 Flash TTS: Генерируйте высококачественные озвученные диалоги сцен с региональными акцентами и создавайте покадровые таймкоды для кинетических субтитров.

  • 🎵 Синхронизация битов аудио с Librosa: Анализируйте фоновую музыку для извлечения BPM, границ битов, спадов/подъёмов энергии RMS и рекомендуйте точные по кадрам смены сцен.

  • 📸 Снимки визуального предпросмотра: Мгновенно рендерите снимки кадров (PNG/JPEG/WebP) на любом индексе кадра для визуальной проверки AI.

  • ⚡ Безголовый рендеринг: Программно компилируйте высококачественные видео MP4/WebM с управлением многопоточностью и отслеживанием прогресса.

  • 🔒 Аутентификация по Bearer-токену: Защитите свои HTTP MCP-эндпоинты при развертывании в публичных облачных сервисах.


Related MCP server: remotion-vision-mcp

🛠️ Предварительные требования

Для запуска этого MCP-сервера и рендеринга видео хост-среда должна соответствовать следующим требованиям:

  1. Node.js (рекомендуется v20.0.0 или выше) и npm.

  2. Python 3 (рекомендуется v3.10+) с установленными аудиопакетами:

    pip install librosa numpy scipy google-genai
  3. Зависимости браузера Remotion: Для запуска headless Chrome требуется Chromium. Установите через CLI:

    npx @remotion/cli browser ensure

🌐 Удалённый MCP / Claude Web и развертывание Streamable HTTP

Этот сервер поддерживает спецификацию транспорта MCP Streamable HTTP (@modelcontextprotocol/sdk v1.29.0), что позволяет веб-клиентам, таким как Claude Web (https://claude.ai/new), подключаться удалённо.

1. Запуск HTTP-сервера локально

Соберите и запустите сервер Streamable HTTP:

npm install
npm run build
npm run start:http

По умолчанию сервер прослушивает:

  • Проверка здоровья: GET http://localhost:3000/health

  • MCP-эндпоинт: http://localhost:3000/mcp

2. Переменные окружения

Создайте файл .env или экспортируйте переменные окружения:

Переменная окружения

Описание

По умолчанию

PORT

HTTP-порт для прослушивания

3000

HOST

Привязка интерфейса хоста

0.0.0.0

MCP_AUTH_TOKEN

Секретный токен для аутентификации Bearer (Authorization: Bearer <token>)

(Без аутентификации, если пусто)

CORS_ORIGIN

Разрешённые источники CORS (через запятую, например, https://claude.ai)

* / Разрешить все

GEMINI_API_KEY

Ключ API Google Gemini для синтеза TTS

(Запасной синтетический аудио)

3. Защита HTTP MCP-эндпоинта

При развертывании на публичном сервере настройте MCP_AUTH_TOKEN:

export MCP_AUTH_TOKEN=your-secret-token-here
npm run start:http

Входящие запросы к /mcp должны содержать заголовок:

Authorization: Bearer your-secret-token-here

Запросы без токена или с недействительным токеном получат ответ 401 Unauthorized.

4. Тестирование HTTP и эндпоинтов здоровья

  • Проверка статуса здоровья:

    curl http://localhost:3000/health
    # Response: {"status":"ok","service":"remotion-mcp-server"}
  • Проверка инициализации MCP:

    curl -X POST http://localhost:3000/mcp \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer your-secret-token-here" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "initialize",
        "params": {
          "protocolVersion": "2024-11-05",
          "capabilities": {},
          "clientInfo": { "name": "curl-test", "version": "1.0.0" }
        }
      }'

5. Развертывание на Render (в один клик / Blueprint)

Репозиторий включает blueprint render.yaml и готовый к продакшену Dockerfile, который упаковывает Node 20, Chromium, FFmpeg и аудиобиблиотеки Python.

  1. Запушьте ваш репозиторий на GitHub.

  2. Войдите в Render и нажмите New + -> Blueprint.

  3. Подключите ваш репозиторий (remotionMcpServer). Render автоматически обнаружит render.yaml.

  4. Настройте переменные окружения в панели Render:

    • MCP_AUTH_TOKEN: Ваш собственный секретный токен.

    • GEMINI_API_KEY: Ваш ключ Gemini API.

  5. Разверните! Ваш удалённый MCP URL будет:

    https://YOUR-SERVICE-NAME.onrender.com/mcp

6. Подключение к Claude Web

  1. Перейдите на https://claude.ai/new.

  2. Откройте настройки Custom MCP Connectors.

  3. Введите ваш удалённый MCP URL:

    https://YOUR-SERVICE-NAME.onrender.com/mcp
  4. Если аутентификация включена, настройте заголовок Authorization со значением Bearer <your-mcp-auth-token>.

  5. Сохраните и подключитесь. Claude Web перечислит все 5 доступных инструментов Remotion.


💻 Локальная настройка STDIO (Antigravity и локальные клиенты)

Мгновенная настройка одной командой (рекомендуется)

Скопируйте и вставьте одну команду в ваш терминал:

🍎 macOS / Linux (терминал)

curl -fsSL https://raw.githubusercontent.com/ivalenzuela/remotion-mcp-server/main/autoinstall.sh | bash

🪟 Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/ivalenzuela/remotion-mcp-server/main/autoinstall.ps1 | iex

Ручная настройка STDIO

  1. Скомпилируйте сервер:

    git clone https://github.com/ivalenzuela/remotion-mcp-server.git
    cd remotion-mcp-server
    npm install
    npm run build
  2. Зарегистрируйте в AI-клиенте (mcp_config.json / claude_desktop_config.json):

    {
      "mcpServers": {
        "remotion": {
          "command": "node",
          "args": ["/path/to/remotion-mcp-server/dist/index.js"],
          "env": {
            "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE"
          }
        }
      }
    }

🤖 Доступные MCP-инструменты

Все пять инструментов доступны одинаково через транспорты STDIO и Streamable HTTP:

1. remotion_scaffold_project

Создаёт полный проект React/Remotion с готовыми шаблонами, стандартными компонентами макета и автоматически устанавливает npm-зависимости.

  • Аргументы:

    • projectName (string, обязательный): Имя папки целевого проекта.

    • template (enum: tiktok-916, youtube-169, social-11, обязательный): Соотношение сторон.

    • targetDir (string, обязательный): Путь к родительской директории.

2. remotion_analyze_audio

Выполняет обработку сигналов аудиофайлов с помощью Python Librosa для возврата BPM, кадров битов, энергетических профилей, рекомендуемых номеров кадров для смены сцен и выравнивания SRT-субтитров.

  • Аргументы:

    • audioPath (string, обязательный): Путь к входной аудиодорожке.

    • srtPath (string, необязательный): Путь к файлу SRT-субтитров.

    • outputPath (string, необязательный): Путь для сохранения выходного JSON-анализа.

    • fps (number, по умолчанию 30): Целевая частота кадров композиции.

    • minSceneDuration (number, по умолчанию 3.5): Минимальное количество секунд между сменами сцен.

3. remotion_generate_tts

Синтезирует речь с помощью Google Gemini 3.1 Flash TTS (gemini-3.1-flash-tts-preview) и выводит таймкоды слов с учётом символов. Автоматически переключается на чистый синтетический звук, если GEMINI_API_KEY отсутствует.

  • Аргументы:

    • text (string, обязательный): Текст диалога для синтеза.

    • outputPath (string, обязательный): Путь для сохранения сгенерированного файла .wav.

    • voice (string, по умолчанию "Puck"): Имя предустановленного голоса Gemini.

    • accent (string, необязательный): Необязательная инструкция по региональному акценту.

    • fps (number, по умолчанию 30): Частота кадров.

4. remotion_preview_frame

Рендерит статичное изображение-снимок (PNG/JPEG/WebP) конкретного кадра композиции с помощью CLI Remotion.

  • Аргументы:

    • projectDir (string, обязательный): Путь к проекту Remotion.

    • compositionId (string, обязательный): ID целевой композиции.

    • frame (number, по умолчанию 0): Индекс кадра для захвата.

    • imageFormat (enum: png, jpeg, webp, по умолчанию png): Формат.

    • props (object, необязательный): Входные React-пропсы.

5. remotion_render_video

Компилирует композицию в видео производственного качества (MP4/WebM).

  • Аргументы:

    • projectDir (string, обязательный): Путь к проекту Remotion.

    • compositionId (string, обязательный): ID целевой композиции.

    • outputPath (string, необязательный): Путь к выходному видео.

    • concurrency (number/string, по умолчанию "auto"): Используемые потоки CPU.

    • codec (string, по умолчанию "h264"): Целевой кодек.

    • props (object, необязательный): Входные React-пропсы.


🎨 Готовые React-компоненты

Созданные проекты включают следующие готовые к продакшену компоненты макета:

  1. SubtitleOverlay: Пословное активное масштабирование и пользовательские свечения тени текста ("Efecto Lupa PRO") для двуязычных субтитров.

  2. KenBurnsImage: Чистое масштабирование и перемещение изображения на основе интерполяции без CSS-анимаций.

  3. AudioSpectrum: Визуализатор частотного спектра звука — полосы, реактивно синхронизированные со звуковой дорожкой.

  4. LowerThird: Элегантные нижние трети для профилей в социальных сетях или визитных карточек.


🧪 Тестирование и проверка

Запустите полный набор E2E-тестов для проверки выполнения инструментов, разрешения путей и рендеринга CLI:

npm test

📄 Лицензия

Этот проект лицензирован в соответствии с лицензией MIT.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables agentic vision loops for Remotion by providing tools to discover projects, list compositions, take screenshots, and render storyboards, returning images for model evaluation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to analyze audio beats, synthesize voices with Google Gemini TTS, and programmatically construct and render professional videos using Remotion and React.
    5 npm
    MIT