veo-mcp-server
Provides tools for generating videos and images using Google's Gemini API, with VEO 3.1 for video generation and NanoBanana Pro 2 for image generation.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
CLI | Install check | Version check |
|
|
|
|
|
|
veo-mcp-server is replaced by omni-mcp-server 2.0.0; update client commands and tool names (see migration notes).
What is This?
Gemini Media MCP is a comprehensive toolkit that brings Google's most powerful AI media generation models into any MCP-compatible AI assistant. Generate videos with Gemini Omni, create stunning images with NanoBanana Pro 2, and craft professional prompts with built-in skills -- all from a single repository.
Related MCP server: media-mcp
What's Included
MCP Servers
Server | Description | Tools |
Gemini Omni | AI video generation, reference images, extension and first/last-frame interpolation | 9 tools |
NanoBanana | AI image generation with NanoBanana Pro 2 (Pro + Flash models) | 4 tools |
Claude Code Skills (Plugin Marketplace)
Skill | Description |
Omni Prompting | 7-layer prompt engineering for Gemini Omni video prompts |
NanoBanana Prompting | 7-layer prompt engineering for photorealistic NanoBanana Pro 2 images |
Install skills via Claude Code:
/plugin marketplace add u2n4/gemini-media-mcpQuick Start
This repo hosts two independent MCP servers. Install whichever you need — or both. Each server publishes to PyPI separately.
Option A — uvx (zero-install, recommended)
Add a block to your MCP client config (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf) using the appropriate server block below (see Omni Server / NanoBanana Server sections).
Option B — clone + editable install
git clone https://github.com/u2n4/gemini-media-mcp.git
cd gemini-media-mcp
# Each server needs its own environment (different MCP major versions).
uv sync --project servers/omni
uv sync --project servers/nanobanana
uv run --project servers/omni omni-mcp-server --help
uv run --project servers/nanobanana nanobanana-imagen-mcp --helpOmni Server
uvx (zero-install):
{
"mcpServers": {
"omni": {
"command": "uvx",
"args": ["omni-mcp-server"],
"env": {
"GEMINI_API_KEY": "your_key",
"VIDEO_OUTPUT_DIR": "./videos"
}
}
}
}Claude Code:
claude mcp add omni -s user -e GEMINI_API_KEY=your_key -- uvx omni-mcp-serverpip install:
pip install omni-mcp-serverNanoBanana Server
uvx (zero-install):
{
"mcpServers": {
"nanobanana": {
"command": "uvx",
"args": ["nanobanana-imagen-mcp"],
"env": {
"GEMINI_API_KEY": "your_key"
}
}
}
}Claude Code:
claude mcp add nanobanana -s user -e GEMINI_API_KEY=your_key -- uvx nanobanana-imagen-mcppip install:
pip install nanobanana-imagen-mcpOmni Server
AI video generation powered by gemini-omni-1.2-flash through the Interactions API. Uses an async job pattern where generation starts in the background and returns a job ID for polling -- no timeouts.
Tools
Tool | Description |
| Generate from text: 3–15 seconds (default 10), 360p/720p/1080p/4k, 16:9 or 9:16. Optional comma-separated |
| Animate a JPEG, PNG or WebP with a text prompt; same duration, resolution and aspect options. |
| Extend a completed |
| Transition between |
| Check async job status. Call every 15-20 seconds until completed or failed. |
| List all generation jobs and their current status. |
| Check API key status -- keys configured, active key, keys remaining. |
| Link to current Gemini Omni pricing documentation. |
| Display generation statistics -- video count, total size, file details, job statuses. |
Omni Configuration
Variable | Description | Default |
| Primary API key (required) | -- |
| Backup key for auto-rotation | -- |
| Output directory for videos |
|
Omni Models
Tier | Model | Best For |
Standard |
| Default model |
Fast |
| Compatibility alias; same model as Standard |
NanoBanana Server
AI image generation powered by NanoBanana Pro 2. Supports Pro (maximum quality) and Flash (fast) models with default 4K resolution.
Tools
Tool | Description |
| Generate images using NanoBanana Pro 2 (Pro or Flash). Supports aspect ratio, resolution (up to 4K), negative prompts, thinking level, grounding, and reference images. |
| Upload reference image for editing or conditioning. |
| Display generation statistics -- image count, total size, file details. |
| Server maintenance and cleanup -- clear caches, remove temporary files. |
Models
Model | Engine | Best For |
Pro |
| Maximum quality, complex scenes |
Flash |
| Fast generation, simple scenes |
Prompting Skills
Omni Prompting Skill
Prompt planning guidance for Gemini Omni:
Cinematography (camera, shot type, lens, angles)
Subject (characters, objects, material cues)
Action (force-based verbs, timestamp beats)
Environment (time of day, weather, depth layers)
Lighting & Mood (physical light sources, color temperature)
Continuity (reference images, first/last frames and extension)
Tool Controls (duration, resolution, aspect ratio and output path)
NanoBanana Prompting Skill
7-layer prompt engineering system for NanoBanana Pro 2:
Style & Art Direction (visual DNA)
Scene Description (environment, atmosphere)
Main Subject (hero element with extreme specificity)
Camera & Lens (real camera specs for realism)
Lighting (natural, studio, color temperature)
Texture, Material & Color (tactile detail)
Negative Prompts (quality guards)
Architecture
gemini-media-mcp/
├── servers/
│ ├── omni/ # Gemini Omni Video MCP Server (PyPI: omni-mcp-server)
│ │ ├── pyproject.toml
│ │ ├── requirements.txt
│ │ └── src/
│ │ └── omni_mcp_server/
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ └── server.py
│ └── nanobanana/ # NanoBanana MCP Server (PyPI: nanobanana-imagen-mcp)
│ ├── pyproject.toml
│ ├── requirements.txt
│ └── nanobanana_mcp_server/ # Package
├── skills/
│ ├── omni-prompting/ # Omni prompting skill
│ │ └── SKILL.md
│ └── nanobanana-prompting/ # NanoBanana prompting skill
│ └── SKILL.md
├── plugins/ # Claude Code Plugin Marketplace
│ ├── omni-prompting/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── skills/
│ │ └── omni-prompting/
│ │ └── SKILL.md
│ └── nanobanana-prompting/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── skills/
│ └── nanobanana-prompting/
│ └── SKILL.md
├── .claude-plugin/
│ └── marketplace.json
├── .env.example
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── llms.txt
└── llms-install.mdContributing
See CONTRIBUTING.md.
License
MIT -- see LICENSE.
Credits
NanoBanana MCP Server: inspired by the nano-banana naming convention used across the MCP community. This is an independent implementation.
Gemini Omni by Google DeepMind
Support
If you find this useful, please star this repository!
Made with ❤️ in the Eastern Province of Saudi Arabia.
Refresh verification — 2026-11-05
Gemini paths were tested only with a fake client and never live. Both API keys
were unset for all test runs; tests block real SDK clients and HTTP requests.
Omni extension/interpolation and reference-image request shapes were checked
against Google's Omni docs,
full docs and installed SDK source.
Legacy video seed, batch and negative-prompt shapes remain unconfirmed and unavailable.
NanoBanana starts and lists tools without credentials; Gemini-dependent tools
return a clear error naming GEMINI_API_KEY when no key is configured.
gemini-3.1-flash-image is also listed as Stable; this server's Flash route uses
the documented preview replacement gemini-nano-banana-2.1.
Omni uses mcp>=1.0.0,<2; NanoBanana uses fastmcp>=4,<5. Install them in
separate environments or use their independent uvx commands. Both cap
google-genai>=2.5.0,<3. See each server's CHANGELOG for migration details.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Google Veo AI video generation
MCP server for Wan AI video generation
MCP server for MiniMax H3 multimodal video generation
MCP server for Luma Dream Machine AI video generation
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.735MIT
- AlicenseBqualityBmaintenanceMCP server for video enhancement and SAM3 image segmentation, enabling tasks like upscaling videos and segmenting objects in images via natural language.449 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server for generating images and videos using Google Gemini and VEO models, with support for multiple AI models and credential modes.289 PyPI1Apache 2.0
- AlicenseAqualityBmaintenanceOne MCP server for music, image, video, and audio generation across Suno, Grok Imagine, Seedance, Kling, Hailuo, Wan, VEO, Ideogram, and GPT Image 2. Generate, edit, upscale, reframe, and master through one API key and one credit pool.161,024 npm6MIT