Amazon Nova Reel MCP Server
Amazon Nova Reel 1.1 MCP サーバー
AWS Bedrock を使用して Amazon Nova Reel 1.1 で動画を生成するための Model Context Protocol (MCP) サーバーです。このサーバーは、包括的なプロンプトガイドラインと、stdio および SSE トランスポートの両方をサポートした非同期動画生成ツールを提供します。

機能
非同期動画生成: 動画生成ジョブの開始、監視、取得
複数のトランスポート方法: stdio、Server-Sent Events (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(オプション): 1秒あたりのフレーム数 (デフォルト: 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 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: 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貢献
リポジトリをフォークします
フィーチャーブランチを作成します
変更を加えます
すべてのトランスポートバージョン (stdio, SSE, HTTP ストリーミング) でテストします
プルリクエストを送信します
ライセンス
このプロジェクトは 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