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

Функции
Асинхронная генерация видео: Запуск, мониторинг и получение результатов заданий по генерации видео
Несколько методов передачи данных: Поддержка 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 с соответствующими разрешениями
Локальная установка
Клонируйте или скачайте файлы сервера
Установите зависимости:
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Сборка локально
Соберите контейнеры с помощью предоставленных скриптов:
# 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Или используйте docker-compose:
docker-compose up -dИли используйте скрипт быстрого запуска:
# 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: Ваш идентификатор ключа доступа AWSAWS_SECRET_ACCESS_KEY: Ваш секретный ключ доступа AWSAWS_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()Ключевые советы по промптам
Будьте конкретны: Используйте подробный, описательный язык
Хорошо: "Красный кардинал сидит на заснеженной сосновой ветке, утренний солнечный свет пробивается сквозь деревья"
Плохо: "Птица на дереве"
Используйте терминологию камеры: Управляйте композицией кадра
"Крупный план рук, вырезающих дерево"
"Общий план, показывающий горный пейзаж"
"Камера панорамирует влево по долине"
Добавляйте детали освещения: Указывайте атмосферу
"Освещение золотого часа, отбрасывающее длинные тени"
"Мягкие сумерки синего часа"
"Драматические грозовые тучи над головой"
Структурируйте под длительность: Согласуйте сложность с длиной видео
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
Устранение неполадок
Распространенные проблемы
Ошибка учетных данных AWS
Проверьте правильность учетных данных AWS
Убедитесь, что в вашей учетной записи включен доступ к Bedrock
Проверьте разрешения IAM
Доступ к S3-бакету
Проверьте, существует ли бакет и доступен ли он
Проверьте разрешения бакета
Убедитесь, что бакет находится в том же регионе, что и Bedrock
Валидация длительности
Длительность должна быть 12-120 секунд
Должна быть кратна 6
Допустимые значения: 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120
Задание не найдено
Используйте
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Участие в разработке
Сделайте форк репозитория
Создайте ветку для функции
Внесите изменения
Протестируйте со всеми версиями транспорта (stdio, SSE, HTTP streaming)
Отправьте pull request
Лицензия
Этот проект лицензирован по лицензии MIT - подробности см. в файле LICENSE.
Поддержка
По вопросам и проблемам:
Проверьте раздел устранения неполадок
Изучите документацию AWS Bedrock
Откройте issue в репозитории
Ссылки
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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