项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它利用 Google 的 Veo2 模型,为 LLM 客户端提供视频生成功能。通过此服务器,您可以让 LLM 应用调用工具生成高质量的视频,并以标准化的 MCP 资源方式访问和管理这些视频。

主要功能点

  • 文本生成视频:根据文本提示词生成视频内容。
  • 图像生成视频:上传图像并结合提示词,生成与图像内容相关的视频。
  • 视频资源管理:生成的视频作为 MCP 资源进行托管和管理,方便客户端访问和使用。
  • 示例 Prompt 模板:内置视频生成 Prompt 模板,方便用户快速上手。
  • 支持多种传输协议:支持 Stdio 和 SSE 两种 MCP 传输协议。

安装步骤

  1. 环境准备

    • 确保已安装 Node.js 18 或更高版本。
    • 拥有 Google API 密钥,并已开通 Gemini API 和 Veo2 模型的访问权限(需要在 aistudio.google.com 绑定信用卡)。
  2. 克隆仓库

    git clone https://github.com/mario-andreschak/mcp-veo2.git
    cd mcp-veo2
  3. 安装依赖

    npm install
  4. 配置 API 密钥

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 编辑 '.env' 文件,将您的 Google API 密钥填入 'GOOGLE_API_KEY' 变量。
  5. 构建项目

    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'),具体地址请参考服务器启动日志。

基本使用方法

  1. 启动服务器

    • 使用 Stdio 传输协议 (默认): 'npm start' 或 'npm start stdio'
    • 使用 SSE 传输协议: 'npm start sse'
  2. 在 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与计算