Skip to main content
Glama
mirecekd

Amazon Nova Reel MCP Server

by mirecekd

Amazon Nova Reel 1.1 MCP サーバー

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

"Buy Me A Coffee" "PayPal.me"

機能

  • 非同期動画生成: 動画生成ジョブの開始、監視、取得

  • 複数のトランスポート方法: 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_idinvocation_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 認証情報

ローカルインストール

  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 アクセスキー ID

  • AWS_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 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 バージョン (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()

プロンプトの重要なヒント

  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 ストリーミング) でテストします

  5. プルリクエストを送信します

ライセンス

このプロジェクトは 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