Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veo MCP Server

MCP server for Google Veo video generation capabilities

This server exposes Veo's text-to-video, image-to-video, video extension, and styled video generation as MCP tools.

Features

  • Text-to-Video: Generate videos from text prompts
  • Image-to-Video: Animate static images with optional frame interpolation
  • Video Extension: Extend existing videos (Veo 3.1)
  • Styled Generation: Use reference images for consistent style/characters (Veo 3.1)
  • Multiple Models: Support for Veo 3.1, 3.0, and 2.0 models

Installation

# Clone the repository
git clone <repository-url>
cd veo-mcp-server

# Install with uv
uv pip install -e .

# Or install development dependencies
uv pip install -e ".[dev]"

Configuration

Environment Variables

Variable Description Default
GOOGLE_API_KEY Google API key for Gemini Developer API None (uses default auth)
VEO_OUTPUT_DIR Directory for generated videos ./generated_videos

Claude Desktop Configuration

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "veo": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/veo-mcp-server",
        "run",
        "veo-mcp-server"
      ],
      "env": {
        "GOOGLE_API_KEY": "your-api-key-here",
        "VEO_OUTPUT_DIR": "/path/to/output/directory"
      }
    }
  }
}

Available Tools

generate_video

Generate video from a text prompt.

Parameters:

  • prompt (required): Text description of the video
  • model: Veo model to use (default: veo-3.1-generate-preview)
  • aspect_ratio: "16:9" or "9:16" (default: "16:9")
  • duration_seconds: "4", "6", or "8" (default: "8")
  • resolution: "720p" or "1080p" (default: "720p")
  • negative_prompt: Elements to exclude
  • number_of_videos: Number of videos to generate 1-4 (default: 1)

Example:

Generate a video of a sunset over the ocean with birds flying

animate_image

Animate a static image into video.

Parameters:

  • prompt (required): Description of the animation
  • image_path (required): Path to the source image
  • model: Veo model to use
  • aspect_ratio: Video aspect ratio
  • duration_seconds: Video duration
  • resolution: Video resolution
  • negative_prompt: Elements to exclude
  • last_frame_path: Optional path for final frame interpolation

Example:

Animate /path/to/image.jpg with the prompt "The character waves and smiles"

extend_video_clip

Extend an existing video (Veo 3.1 only).

Parameters:

  • prompt (required): Description for the extension
  • video_path (required): Path to the source video
  • model: Veo model to use (default: veo-3.1-generate-preview)
  • resolution: Video resolution

Example:

Extend /path/to/video.mp4 with "The scene continues as the sun rises"

generate_video_with_style

Generate video using reference images for style consistency (Veo 3.1 only).

Parameters:

  • prompt (required): Video description
  • reference_image_paths (required): List of 1-3 image paths
  • reference_types: List of "asset" or "style" for each reference
  • model: Veo model to use
  • aspect_ratio: Video aspect ratio
  • duration_seconds: Video duration
  • resolution: Video resolution
  • negative_prompt: Elements to exclude

Example:

Generate video with reference images ["/char.jpg", "/style.jpg"]
and types ["asset", "style"] with prompt "The character walks through the forest"

list_veo_models

List all available Veo models and their capabilities.

Example:

List available Veo models

Available Models

Model ID Features
Veo 3.1 Preview veo-3.1-generate-preview All features including reference images and video extension
Veo 3.1 Fast veo-3.1-fast-generate-preview Speed-optimized Veo 3.1
Veo 3.0 veo-3.0-generate-001 Stable with native audio
Veo 3.0 Fast veo-3.0-fast-generate-001 Fast stable version
Veo 2.0 veo-2.0-generate-001 Basic video generation

Development

Running Tests

# Run all tests
uv run pytest

# Run specific test file
uv run pytest tests/test_models.py

# Run with coverage
uv run pytest --cov=veo_mcp_server

Project Structure

veo-mcp-server/
├── src/
│   └── veo_mcp_server/
│       ├── __init__.py
│       ├── server.py      # MCP tools and entry point
│       ├── core.py        # Business logic
│       └── models.py      # Data models and enums
├── tests/
│   ├── test_models.py
│   └── test_core.py
├── docs/
│   └── implementation-plan.md
└── pyproject.toml

API Reference

For detailed API documentation, see Google's Veo documentation.

Generation Time

Video generation typically takes 11 seconds to 6 minutes depending on complexity and server load. Progress is reported during generation.

Video Storage

Generated videos are stored on Google's servers for 2 days, after which they are automatically removed. Make sure to download generated videos promptly.

License

MIT

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

About

Model Context Protocol server exposing Google Veo's text-to-video, image-to-video, video extension, and styled video generation capabilities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages