Skip to main content
Glama
mirecekd

Amazon Nova Reel MCP Server

by mirecekd

MCP-сервер Amazon Nova Reel 1.1

Сервер протокола контекста модели (MCP) для генерации видео с помощью Amazon Nova Reel 1.1 через AWS Bedrock. Этот сервер предоставляет инструменты для асинхронной генерации видео с подробными рекомендациями по составлению промптов и поддержкой транспорта stdio и SSE.

"Купить мне кофе" "PayPal.me"

Функции

  • Асинхронная генерация видео: Запуск, мониторинг и получение результатов заданий по генерации видео

  • Несколько методов передачи данных: Поддержка stdio, Server-Sent Events (SSE) и HTTP Streaming

  • Подробное руководство по промптам: Встроенные рекомендации, основанные на документации AWS

  • Поддержка Docker: Готовые к использованию Docker-контейнеры для всех методов передачи данных

  • Интеграция с AWS: Полная интеграция с AWS Bedrock и S3

Related MCP server: AWS Knowledge Base Retrieval MCP Server

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

1. start_async_invoke

Запуск нового задания по генерации видео.

Параметры:

  • prompt (обязательно): Текстовое описание для генерации видео

  • duration_seconds (опционально): Длительность видео (12-120 секунд, кратно 6, по умолчанию: 12)

  • fps (опционально): Кадров в секунду (по умолчанию: 24)

  • dimension (опционально): Размеры видео (по умолчанию: "1280x720")

  • seed (опционально): Случайное зерно для воспроизводимых результатов

  • task_type (опционально): Тип задачи (по умолчанию: "MULTI_SHOT_AUTOMATED")

Возвращает: Детали задания, включая job_id, invocation_arn и предполагаемый URL видео.

2. list_async_invokes

Список всех отслеживаемых заданий по генерации видео с их текущим статусом.

Возвращает: Сводку всех заданий со счетчиками статусов и деталями отдельных заданий.

3. get_async_invoke

Получение подробной информации о конкретном задании по генерации видео.

Параметры:

  • identifier (обязательно): Либо job_id, либо invocation_arn

Возвращает: Подробную информацию о задании, включая URL видео после завершения.

4. get_prompting_guide

Получение подробных рекомендаций по составлению промптов для эффективной генерации видео.

Возвращает: Подробные лучшие практики, примеры и шаблоны для промптов.

Установка

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

  • Python 3.8+

  • Учетная запись AWS с доступом к Bedrock

  • S3-бакет для вывода видео

  • Учетные данные AWS с соответствующими разрешениями

Локальная установка

  1. Клонируйте или скачайте файлы сервера

  2. Установите зависимости:

pip install -e .

Установка через Docker

Использование готовых образов (рекомендуется)

Загрузите мультиархитектурные образы из GitHub Container Registry:

# STDIO version
docker pull ghcr.io/mirecekd/novareel-mcp:latest-stdio

# SSE version  
docker pull ghcr.io/mirecekd/novareel-mcp:latest-sse

# HTTP Streaming version
docker pull ghcr.io/mirecekd/novareel-mcp:latest-http

Сборка локально

  1. Соберите контейнеры с помощью предоставленных скриптов:

# Build all versions
./build-all.sh

# Or build individual versions
./build-stdio.sh    # STDIO version
./build-sse.sh      # SSE version
./build-http.sh     # HTTP Streaming version
  1. Или используйте docker-compose:

docker-compose up -d
  1. Или используйте скрипт быстрого запуска:

# Build all images
./start.sh build

# Build specific version
./start.sh build-stdio
./start.sh build-sse
./start.sh build-http

Конфигурация

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

  • AWS_ACCESS_KEY_ID: Ваш идентификатор ключа доступа AWS

  • AWS_SECRET_ACCESS_KEY: Ваш секретный ключ доступа AWS

  • AWS_REGION: Регион AWS (по умолчанию: us-east-1)

  • S3_BUCKET: Имя S3-бакета для вывода видео

Пример файла .env

Создайте файл .env для docker-compose:

AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_REGION=us-east-1
S3_BUCKET=my-video-generation-bucket

Использование

Интеграция с MCP-клиентом (Cline/Claude Desktop)

Добавьте сервер в конфигурацию вашего MCP-клиента:

Конфигурация Cline

Добавьте в настройки Cline MCP:

{
  "mcpServers": {
    "Nova Reel Video MCP": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mirecekd/novareel-mcp:latest-stdio",
        "--aws-access-key-id",
        "YOUR_AWS_ACCESS_KEY_ID",
        "--aws-secret-access-key",
        "YOUR_AWS_SECRET_ACCESS_KEY",
        "--s3-bucket",
        "YOUR_S3_BUCKET_NAME"
      ]
    }
  }
}

Конфигурация Claude Desktop

Добавьте в файл claude_desktop_config.json для Claude Desktop:

{
  "mcpServers": {
    "novareel-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i", 
        "--rm",
        "ghcr.io/mirecekd/novareel-mcp:latest-stdio",
        "--aws-access-key-id",
        "YOUR_AWS_ACCESS_KEY_ID",
        "--aws-secret-access-key",
        "YOUR_AWS_SECRET_ACCESS_KEY",
        "--s3-bucket",
        "YOUR_S3_BUCKET_NAME"
      ]
    }
  }
}

Альтернатива: Локальная установка Python

Если вы предпочитаете запускать без Docker:

{
  "mcpServers": {
    "novareel-mcp": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/mirecekd/novareel-mcp.git",
        "novareel-mcp-server",
        "--aws-access-key-id", "YOUR_AWS_ACCESS_KEY_ID",
        "--aws-secret-access-key", "YOUR_AWS_SECRET_ACCESS_KEY",
        "--s3-bucket", "YOUR_S3_BUCKET_NAME"
      ]
    }
  }
}

Важно: Замените значения-заполнители на ваши реальные учетные данные AWS и имя S3-бакета.

Запуск с помощью uvx (рекомендуется)

# First build the package
./build.sh

# Then run from wheel file
uvx --from ./dist/novareel_mcp-1.0.0-py3-none-any.whl novareel-mcp-server --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET

# Or from current directory during development (without build)
uvx --from . novareel-mcp-server --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET

# Or using start script
./start.sh build-package  # Build wheel

Версия Stdio (прямой MCP-клиент)

# Local execution
python main.py --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET

# Docker execution
docker run --rm -i mirecekd/novareel-mcp-server:stdio --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET

Версия SSE (веб-интерфейс)

# Local execution
python -m novareel_mcp_server.server_sse --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET --host 0.0.0.0 --port 8000

# Docker execution
docker run -p 8000:8000 -e AWS_ACCESS_KEY_ID=YOUR_KEY -e AWS_SECRET_ACCESS_KEY=YOUR_SECRET -e S3_BUCKET=YOUR_BUCKET mirecekd/novareel-mcp-server:sse

Затем перейдите по адресу http://localhost:8000/sse/ для доступа к SSE-эндпоинту.

Версия HTTP Streaming (двунаправленный транспорт)

# Local execution
python -m novareel_mcp_server.server_http --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET --host 0.0.0.0 --port 8001

# Docker execution
docker run -p 8001:8001 -e AWS_ACCESS_KEY_ID=YOUR_KEY -e AWS_SECRET_ACCESS_KEY=YOUR_SECRET -e S3_BUCKET=YOUR_BUCKET ghcr.io/mirecekd/novareel-mcp:latest-http

Затем перейдите по адресу http://localhost:8001 для доступа к транспорту HTTP streaming.

Сборка пакета

Для создания дистрибутивного пакета:

# Install build tools
pip install build

# Create package
python3 -m build

# Output files will be in dist/

Пример использования

Базовая генерация видео

# Start a video generation job
result = start_async_invoke(
    prompt="A majestic eagle soars over a mountain valley, camera tracking its flight as it circles above a pristine lake",
    duration_seconds=24,
    fps=24,
    dimension="1920x1080"
)

job_id = result["job_id"]
print(f"Started job: {job_id}")

# Check job status
status = get_async_invoke(job_id)
print(f"Status: {status['status']}")

# When completed, get video URL
if status["status"] == "Completed":
    print(f"Video URL: {status['video_url']}")

Список всех заданий

# Get overview of all jobs
jobs = list_async_invokes()
print(f"Total jobs: {jobs['total_invocations']}")
print(f"Completed: {jobs['summary']['completed']}")
print(f"In progress: {jobs['summary']['in_progress']}")

Рекомендации по составлению промптов

Сервер включает подробные рекомендации по составлению промптов, основанные на документации AWS. Получите их с помощью:

guide = get_prompting_guide()

Ключевые советы по промптам

  1. Будьте конкретны: Используйте подробный, описательный язык

    • Хорошо: "Красный кардинал сидит на заснеженной сосновой ветке, утренний солнечный свет пробивается сквозь деревья"

    • Плохо: "Птица на дереве"

  2. Используйте терминологию камеры: Управляйте композицией кадра

    • "Крупный план рук, вырезающих дерево"

    • "Общий план, показывающий горный пейзаж"

    • "Камера панорамирует влево по долине"

  3. Добавляйте детали освещения: Указывайте атмосферу

    • "Освещение золотого часа, отбрасывающее длинные тени"

    • "Мягкие сумерки синего часа"

    • "Драматические грозовые тучи над головой"

  4. Структурируйте под длительность: Согласуйте сложность с длиной видео

    • 12-24 секунды: Одно действие или момент

    • 30-60 секунд: 2-3 отдельных действия

    • 60-120 секунд: Полное повествование с несколькими сценами

Примеры промптов по категориям

Природа (короткие - 12с):

Close-up of morning dew drops on a spider web, with soft sunrise lighting creating rainbow reflections

Город (средние - 30с):

A street musician plays violin in a subway station, commuters pause to listen, coins drop into his case, camera slowly pulls back to reveal the bustling underground scene

Портрет (длинные - 60с):

Portrait of a chef preparing a signature dish: selecting fresh ingredients at market, returning to kitchen, methodically preparing each component, plating with artistic precision, and presenting the finished masterpiece

Разрешения AWS

Ваши учетные данные AWS должны иметь следующие разрешения:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:StartAsyncInvoke",
                "bedrock:GetAsyncInvoke",
                "bedrock:ListFoundationModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket-name",
                "arn:aws:s3:::your-bucket-name/*"
            ]
        }
    ]
}

Вывод видео

Сгенерированные видео сохраняются в вашем S3-бакете со следующей структурой:

s3://your-bucket/
├── job-id-1/
│   └── output.mp4
├── job-id-2/
│   └── output.mp4
└── ...

Видео доступны по HTTPS URL:

https://your-bucket.s3.region.amazonaws.com/job-id/output.mp4

Поддерживаемые спецификации видео

  • Длительность: 12-120 секунд (должна быть кратна 6)

  • Частота кадров: 24 fps (рекомендуется)

  • Размеры:

    • 1280x720 (HD)

  • Формат: MP4

  • Модель: amazon.nova-reel-v1:1

Устранение неполадок

Распространенные проблемы

  1. Ошибка учетных данных AWS

    • Проверьте правильность учетных данных AWS

    • Убедитесь, что в вашей учетной записи включен доступ к Bedrock

    • Проверьте разрешения IAM

  2. Доступ к S3-бакету

    • Проверьте, существует ли бакет и доступен ли он

    • Проверьте разрешения бакета

    • Убедитесь, что бакет находится в том же регионе, что и Bedrock

  3. Валидация длительности

    • Длительность должна быть 12-120 секунд

    • Должна быть кратна 6

    • Допустимые значения: 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120

  4. Задание не найдено

    • Используйте list_async_invokes для просмотра всех отслеживаемых заданий

    • Задания хранятся в памяти и теряются при перезапуске сервера

    • Для продакшена реализуйте постоянное хранилище

Режим отладки

Включите отладочное логирование, установив переменную окружения:

export PYTHONUNBUFFERED=1

Разработка

Структура проекта

novareel-mcp-server/
├── main.py              # Main MCP server (stdio)
├── main_sse.py          # SSE version of MCP server
├── main_http.py         # HTTP Streaming version of MCP server
├── prompting_guide.py   # AWS prompting guidelines
├── pyproject.toml       # Python dependencies
├── Dockerfile.stdio     # Docker for stdio version
├── Dockerfile.sse       # Docker for SSE version
├── Dockerfile.http      # Docker for HTTP streaming version
├── docker-compose.yml   # Container orchestration
└── README.md           # This documentation

Участие в разработке

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. Внесите изменения

  4. Протестируйте со всеми версиями транспорта (stdio, SSE, HTTP streaming)

  5. Отправьте pull request

Лицензия

Этот проект лицензирован по лицензии MIT - подробности см. в файле LICENSE.

Поддержка

По вопросам и проблемам:

  1. Проверьте раздел устранения неполадок

  2. Изучите документацию AWS Bedrock

  3. Откройте issue в репозитории

Ссылки

A
license - permissive license
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/mirecekd/novareel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server