mcp-veo2

MCP.Pizza Chef: mario-andreschak

The mcp-veo2 is an MCP server that integrates Google's Veo2 video generation technology, enabling clients to create videos from text prompts or images. It provides access to generated videos as MCP resources and supports multiple transport methods including stdio and SSE. This server facilitates seamless video generation workflows within the MCP ecosystem.

Use This MCP server To

Generate videos from natural language text prompts Create videos based on input images Access and manage generated videos via MCP resources Integrate video generation into AI-enhanced workflows Use example templates for quick video creation Stream video generation results using SSE transport

README

MCP Video Generation with Veo2

smithery badge

This project implements a Model Context Protocol (MCP) server that exposes Google's Veo2 video generation capabilities. It allows clients to generate videos from text prompts or images, and access the generated videos through MCP resources.

Video Generation with Veo2 MCP server

Features

  • Generate videos from text prompts
  • Generate videos from images
  • Access generated videos through MCP resources
  • Example video generation templates
  • Support for both stdio and SSE transports

Example Images

1dec9c71-07dc-4a6e-9e17-8da355d72ba1

Example Image to Video

Image to Video - from Grok generated puppy

Image to Video - from real cat

Prerequisites

  • Node.js 18 or higher
  • Google API key with access to Gemini API and Veo2 model (= You need to set up a credit card with your API key! -> Go to aistudio.google.com )

Installation

Installing in FLUJO

  1. Click Add Server
  2. Copy & Paste Github URL into FLUJO
  3. Click Parse, Clone, Install, Build and Save.

Installing via Smithery

To install mcp-video-generation-veo2 for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @mario-andreschak/mcp-veo2 --client claude

Manual Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/mcp-video-generation-veo2.git
    cd mcp-video-generation-veo2
  2. Install dependencies:

    npm install
  3. Create a .env file with your Google API key:

    cp .env.example .env
    # Edit .env and add your Google API key

    The .env file supports the following variables:

    • GOOGLE_API_KEY: Your Google API key (required)
    • PORT: Server port (default: 3000)
    • STORAGE_DIR: Directory for storing generated videos (default: ./generated-videos)
    • LOG_LEVEL: Logging level (default: fatal)
      • Available levels: verbose, debug, info, warn, error, fatal, none
      • For development, set to debug or info for more detailed logs
      • For production, keep as fatal to minimize console output
  4. Build the project:

    npm run build

Usage

Starting the Server

You can start the server with either stdio or SSE transport:

stdio Transport (Default)

npm start
# or
npm start stdio

SSE Transport

npm start sse

This will start the server on port 3000 (or the port specified in your .env file).

MCP Tools

The server exposes the following MCP tools:

generateVideoFromText

Generates a video from a text prompt.

Parameters:

  • prompt (string): The text prompt for video generation
  • config (object, optional): Configuration options
    • aspectRatio (string, optional): "16:9" or "9:16"
    • personGeneration (string, optional): "dont_allow" or "allow_adult"
    • numberOfVideos (number, optional): 1 or 2
    • durationSeconds (number, optional): Between 5 and 8
    • enhancePrompt (boolean, optional): Whether to enhance the prompt
    • negativePrompt (string, optional): Text describing what not to generate

Example:

{
  "prompt": "Panning wide shot of a serene forest with sunlight filtering through the trees, cinematic quality",
  "config": {
    "aspectRatio": "16:9",
    "personGeneration": "dont_allow",
    "durationSeconds": 8
  }
}

generateVideoFromImage

Generates a video from an image.

Parameters:

  • image (string): Base64-encoded image data
  • prompt (string, optional): Text prompt to guide the video generation
  • config (object, optional): Configuration options (same as above, but personGeneration only supports "dont_allow")

listGeneratedVideos

Lists all generated videos.

MCP Resources

The server exposes the following MCP resources:

videos://{id}

Access a generated video by its ID.

videos://templates

Access example video generation templates.

Development

Project Structure

  • src/: Source code
    • index.ts: Main entry point
    • server.ts: MCP server configuration
    • config.ts: Configuration handling
    • tools/: MCP tool implementations
    • resources/: MCP resource implementations
    • services/: External service integrations
    • utils/: Utility functions

Building

npm run build

Development Mode

npm run dev

License

MIT

mcp-veo2 FAQ

How do I generate a video from a text prompt using mcp-veo2?
Send a text prompt to the mcp-veo2 server via MCP client; it processes the prompt and returns a generated video resource.
Can mcp-veo2 generate videos from images?
Yes, it supports video generation from both text prompts and images.
What transport protocols does mcp-veo2 support?
It supports stdio and Server-Sent Events (SSE) transports for flexible integration.
How can I access the generated videos?
Generated videos are exposed as MCP resources accessible through the MCP client interface.
Is there support for video generation templates?
Yes, mcp-veo2 includes example templates to simplify video creation workflows.
Can mcp-veo2 be integrated with other LLM providers?
Yes, it works within the MCP ecosystem and can be used alongside models from OpenAI, Claude, and Gemini.
What are the system requirements for running mcp-veo2?
It requires access to Google's Veo2 API and a compatible MCP client environment.
How does mcp-veo2 handle real-time video generation updates?
Using SSE transport, it can stream generation progress and results in real time.