Nova Reel MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器,用于通过 MCP 客户端与 LLM 进行交互,提供视频生成任务(基于 AWS Bedrock Nova Reel 模型)的异步调用、状态查询以及提示指南等能力,并支持多种传输协议(stdio、SSE、HTTP streaming)。
- 服务器侧实现了资源管理和工具注册,定义了用于启动视频生成、查询进度、获取提示指南等的工具接口。
-
主要功能点
- 启动异步视频生成任务(start_async_invoke),支持自定义提示、时长、帧率、分辨率、随机种子等参数。
- 列出所有正在跟踪的异步任务(list_async_invokes),返回状态聚合信息与单个任务详情。
- 获取特定任务详情(get_async_invoke),支持通过 job_id 或 invocation_arn 查找。
- 获取并渲染 prompting 指南(get_prompting_guide),提供全面的提示规范与示例。
- 支持三种传输模式的 MCP 服务入口:标准输入输出(stdio)、服务器推送事件(SSE)、HTTP 流(双向传输)。
- 通过 AWS Bedrock 提供视频生成能力,输出视频文件到 S3,并返回可能的视频 URL。
- 持久化 invocations 记录到本地文件,便于服务重启后继续追踪。
-
安装步骤
- 安装运行环境:Python 3.8+、AWS 账户并具有 Bedrock 访问权限、可用的 S3 桶用于输出视频。
- 安装依赖(示例,具体依赖请参考项目 pyproject.toml):pip install -e .
- 根据你选择的传输模式启动对应版本的服务器(见下方“服务器配置”部分的命令和参数说明)。
-
服务器配置(针对 MCP 客户端配置所需的 JSON,可直接粘贴使用)
-
说明:MCP 客户端需要配置启动服务器的命令及参数,以便建立连接。以下为基于本仓库各传输版本的示例配置。
-
StdIO 版本配置示例 { "server_name": "Nova Reel MCP StdIO", "command": "python", "args": [ "main.py", "--aws-access-key-id", "<YOUR_AWS_ACCESS_KEY_ID>", "--aws-secret-access-key", "<YOUR_AWS_SECRET_ACCESS_KEY>", "--s3-bucket", "<YOUR_S3_BUCKET_NAME>" ], "notes": "以 STDIO 传输启动的 MCP 服务器,适用于本地交互式测试。确保将 AWS 证书和目标 S3 桶名替换为实际值。" }
-
SSE 版本配置示例 { "server_name": "Nova Reel MCP SSE", "command": "python", "args": [ "server_sse.py", "--aws-access-key-id", "<YOUR_AWS_ACCESS_KEY_ID>", "--aws-secret-access-key", "<YOUR_AWS_SECRET_ACCESS_KEY>", "--s3-bucket", "<YOUR_S3_BUCKET_NAME>" ], "notes": "通过 SSE 传输提供服务,适用于浏览器或客户端的事件流接入。根据需要替换证书和桶名。" }
-
HTTP Streaming 版本配置示例 { "server_name": "Nova Reel MCP HTTP", "command": "python", "args": [ "main_http.py", "--aws-access-key-id", "<YOUR_AWS_ACCESS_KEY_ID>", "--aws-secret-access-key", "<YOUR_AWS_SECRET_ACCESS_KEY>", "--s3-bucket", "<YOUR_S3_BUCKET_NAME>" ], "notes": "通过 HTTP 流传输提供服务,端口和主机可通过 --host、--port 指定,适用于浏览器/前端集成。" }
-
-
基本使用方法
- 启动服务器
- 选择一种传输模式对应的命令,例如:
- STDIO:python main.py --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET
- SSE:python server_sse.py --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET
- HTTP:python main_http.py --aws-access-key-id YOUR_KEY --aws-secret-access-key YOUR_SECRET --s3-bucket YOUR_BUCKET --host 0.0.0.0 --port 8001
- 选择一种传输模式对应的命令,例如:
- 与 MCP 客户端对接
- 将上述配置中的 server_name 与对应 command/args 信息提供给 MCP 客户端配置,客户端通过指定的命令与参数启动该 MCP 服务器并建立通信。
- 运行后可以通过 MCP 客户端发送以下请求:
- start_async_invoke 以发起视频生成任务
- list_async_invokes 查看当前任务概览
- get_async_invoke 查询单个任务详情和结果
- get_prompting_guide 获取提示指南
- 监控与结果
- 任务通常会输出到指定 S3 桶,完成后返回视频 URL;若网络或权限异常,请参考 README 的故障排除部分。
- 启动服务器