Amazon Nova Reel MCP Server
Amazon Nova Reel 1.1 MCP 服务器
这是一个用于通过 AWS Bedrock 使用 Amazon Nova Reel 1.1 进行视频生成的模型上下文协议 (MCP) 服务器。该服务器提供了异步视频生成工具,包含全面的提示词指南,并支持 stdio 和 SSE 传输方式。

功能特性
异步视频生成:启动、监控并获取视频生成任务
多种传输方式:支持 stdio、服务器发送事件 (SSE) 和 HTTP 流式传输
全面的提示词指南:基于 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+
拥有 Bedrock 访问权限的 AWS 账户
用于存储视频输出的 S3 存储桶
具有相应权限的 AWS 凭证
本地安装
克隆或下载服务器文件
安装依赖:
pip install -e .Docker 安装
使用预构建镜像(推荐)
从 GitHub 容器注册表拉取多架构镜像:
# 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:您的 AWS 访问密钥 IDAWS_SECRET_ACCESS_KEY:您的 AWS 私有访问密钥AWS_REGION:AWS 区域(默认:us-east-1)S3_BUCKET:用于视频输出的 S3 存储桶名称
.env 文件示例
为 docker-compose 创建一个 .env 文件:
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 claude_desktop_config.json 中:
{
"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 wheelStdio 版本(直接 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_BUCKETSSE 版本(Web 界面)
# 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 流式传输版本(双向传输)
# 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 流式传输。
打包构建
创建分发包:
# 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 masterpieceAWS 权限
您的 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贡献
Fork 本仓库
创建功能分支
进行更改
使用所有传输版本(stdio、SSE、HTTP 流式传输)进行测试
提交 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