项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它利用 Google 的 Veo2 模型,为 LLM 客户端提供视频生成功能。通过此服务器,您可以让 LLM 应用调用工具生成高质量的视频,并以标准化的 MCP 资源方式访问和管理这些视频。
主要功能点
- 文本生成视频:根据文本提示词生成视频内容。
- 图像生成视频:上传图像并结合提示词,生成与图像内容相关的视频。
- 视频资源管理:生成的视频作为 MCP 资源进行托管和管理,方便客户端访问和使用。
- 示例 Prompt 模板:内置视频生成 Prompt 模板,方便用户快速上手。
- 支持多种传输协议:支持 Stdio 和 SSE 两种 MCP 传输协议。
安装步骤
-
环境准备:
- 确保已安装 Node.js 18 或更高版本。
- 拥有 Google API 密钥,并已开通 Gemini API 和 Veo2 模型的访问权限(需要在 aistudio.google.com 绑定信用卡)。
-
克隆仓库:
git clone https://github.com/mario-andreschak/mcp-veo2.git cd mcp-veo2 -
安装依赖:
npm install -
配置 API 密钥:
- 复制 '.env.example' 文件并重命名为 '.env'。
- 编辑 '.env' 文件,将您的 Google API 密钥填入 'GOOGLE_API_KEY' 变量。
-
构建项目:
npm run build
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器:
{ "serverName": "veo2-video-generation", // 服务名称,固定为 veo2-video-generation "command": "npm", // 启动命令,通常为 npm "args": [ // 命令参数 "start", // 运行 npm start 脚本 "stdio" // 使用 stdio 传输协议 (可选 "sse" 使用 SSE 协议) ], "transport": "stdio" // 传输协议,与 args 中的参数保持一致 ("stdio" 或 "sse") }
参数注释:
- 'serverName': MCP 服务器的名称,由服务器声明,客户端使用此名称识别服务器。
- 'command': 运行 MCP 服务器的命令,通常使用 'npm' 或 'node'。
- 'args': 传递给启动命令的参数数组。
- 第一个参数 '"start"' 运行 'package.json' 中定义的 'start' 脚本。
- 第二个参数 '"stdio"' 或 '"sse"' 指定 MCP 服务器使用的传输协议。默认为 '"stdio"'。如果使用 SSE 协议,需要将此参数设置为 '"sse"',并确保 MCP 客户端支持 SSE 协议。
- 'transport': 与 'args' 中指定的传输协议一致,必须设置为 '"stdio"' 或 '"sse"'。
注意:
- 如果您希望使用 SSE 协议,请将 'args' 中的第二个参数和 'transport' 字段都设置为 '"sse"'。
- 使用 SSE 协议时,MCP 客户端需要连接到服务器提供的 SSE 端点 (例如 'http://localhost:3000/sse') 和消息端点 (例如 'http://localhost:3000/messages'),具体地址请参考服务器启动日志。
基本使用方法
-
启动服务器:
- 使用 Stdio 传输协议 (默认): 'npm start' 或 'npm start stdio'
- 使用 SSE 传输协议: 'npm start sse'
-
在 MCP 客户端中使用:
- 配置 MCP 客户端连接到此服务器。
- 使用客户端提供的界面或命令,调用以下工具 (Tools) 和资源 (Resources):
工具 (Tools):
- 'generateVideoFromText': 文本生成视频。
- 'generateVideoFromImage': 图像生成视频。
- 'generateImage': 文本生成图像 (使用 Google Imagen 模型)。
- 'generateVideoFromGeneratedImage': 先生成图像再用图像生成视频 (一步完成)。
- 'listGeneratedVideos': 列出所有已生成的视频资源。
- 'getImage': 获取指定 ID 的图像资源。
- 'listGeneratedImages': 列出所有已生成的图像资源。
资源 (Resources):
-
'videos://{id}': 访问指定 ID 的视频资源。
-
'videos://templates': 访问视频生成 Prompt 模板。
-
'images://{id}': 访问指定 ID 的图像资源。
-
'images://templates': 访问图像生成 Prompt 模板。
-
具体工具和资源的使用方法,请参考 MCP 客户端的文档,并根据工具和资源的参数描述进行操作。
信息
分类
AI与计算