使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 Google 的 Veo2 模型提供视频生成能力。通过此服务器,MCP 客户端可以发送文本或图像,请求生成视频,并作为 MCP 资源进行访问和管理。此服务器旨在为 LLM 应用提供视频生成功能,并遵循 MCP 标准进行上下文和能力交互。

主要功能点

  • 文本生成视频: 支持通过文本提示词生成视频内容。
  • 图像生成视频: 支持上传图像并结合提示词生成视频。
  • MCP 资源访问: 生成的视频以 MCP 资源的形式托管和管理,客户端可以通过标准的 MCP 资源 URI 访问和下载视频。
  • 示例 Prompt 模板: 内置视频生成 Prompt 模板,方便用户快速开始视频生成。
  • 多种传输协议支持: 支持 Stdio 和 SSE 两种传输协议,可以根据客户端需求选择合适的连接方式。

安装步骤

  1. 克隆仓库:

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

    npm install
  3. 配置环境变量: 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,填入你的 Google API Key。

    cp .env.example .env
    # 编辑 .env 文件并添加 Google API Key

    '.env' 文件支持以下变量配置:

    • 'GOOGLE_API_KEY': 必须配置,你的 Google API Key,用于访问 Gemini API 和 Veo2 模型。
    • 'PORT': 可选,服务器端口号,默认为 '3000'。
    • 'STORAGE_DIR': 可选,生成视频的存储目录,默认为 './generated-videos'。
    • 'LOG_LEVEL': 可选,日志级别,默认为 'fatal'。 可选值包括 'verbose', 'debug', 'info', 'warn', 'error', 'fatal', 'none'。 开发环境建议设置为 'debug' 或 'info' 以查看更详细的日志。
  4. 构建项目:

    npm run build

服务器配置 (MCP 客户端配置)

MCP 客户端需要配置以下 JSON 信息才能连接到此 MCP 服务器。

{
  "serverName": "veo2-video-generation",
  "command": "npm",
  "args": [
    "start",
    "stdio"
  ],
  "transport": "stdio",
  "description": "Veo2视频生成MCP服务器 (stdio 传输)"
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识此服务器。
  • 'command': 启动服务器的命令,这里使用 'npm'。
  • 'args': 启动服务器命令的参数列表。
    • '"start"': npm 的启动脚本命令。
    • '"stdio"': 指定使用 'stdio' 传输协议。 如果要使用 'SSE' 传输,可以将此参数改为 '"sse"',并相应修改 'transport' 字段为 '"sse"'。
  • 'transport': 指定 MCP 客户端与服务器通信的传输协议,这里配置为 '"stdio"' 或 '"sse"',需要与 'args' 中的参数保持一致。
  • 'description': 服务器描述,用于在 MCP 客户端界面上显示,方便用户识别。

SSE 传输配置示例:

如果需要使用 SSE 传输协议,MCP 客户端的配置可以参考以下 JSON:

{
  "serverName": "veo2-video-generation-sse",
  "command": "npm",
  "args": [
    "start",
    "sse"
  ],
  "transport": "sse",
  "sseUrl": "http://localhost:3000/sse",
  "messageUrl": "http://localhost:3000/messages",
  "description": "Veo2视频生成MCP服务器 (SSE 传输)"
}

新增参数说明 (SSE 传输):

  • 'sseUrl': SSE 连接的 URL 地址,MCP 客户端通过此 URL 建立 SSE 连接。默认为 'http://localhost:3000/sse',如果服务器端口或地址有修改,此处需要相应调整。
  • 'messageUrl': 消息发送的 URL 地址,MCP 客户端通过 POST 请求向此 URL 发送消息。默认为 'http://localhost:3000/messages',同样需要根据服务器配置进行调整。

基本使用方法

  1. 启动服务器: 根据选择的传输协议 (stdio 或 SSE) 运行相应的启动命令:

    • stdio 传输: 'npm start' 或 'npm start stdio'
    • SSE 传输: 'npm start sse'
  2. 配置 MCP 客户端: 将上述生成的服务器配置 JSON 添加到你的 MCP 客户端中。

  3. 使用 MCP 客户端调用工具和访问资源:

    • 调用工具:
      • 'generateVideoFromText': 文本生成视频工具,输入文本提示词,即可生成视频。
      • 'generateVideoFromImage': 图像生成视频工具,上传图像和可选的文本提示词,即可生成基于图像的视频。
      • 'listGeneratedVideos': 列出所有已生成的视频资源。
    • 访问资源:
      • 'videos://{id}': 访问指定 ID 的视频资源,客户端可以下载和播放生成的视频。
      • 'videos://templates': 访问视频生成 Prompt 模板资源,获取预定义的 Prompt 示例。

    具体工具和资源的使用方法请参考 MCP 客户端的文档和界面操作。

信息

分类

AI与计算