veo-mcp-server
MCP server for 4K video generation using Google VEO 3.1 — text-to-video, image-to-video, video extension, and frame interpolation.
README
<!-- mcp-name: io.github.u2n4/gemini-media-mcp --> <div align="center"> <img src="assets/banner.png" alt="Gemini Media MCP" width="100%">
<h1>Gemini Media MCP</h1> <p><strong>All-in-one MCP toolkit for AI media generation -- VEO 3.1 video + NanoBanana Pro 2 images + prompting skills</strong></p>
<p> <a href="https://pypi.org/project/veo-mcp-server/"><img src="https://img.shields.io/pypi/v/veo-mcp-server?style=for-the-badge&logo=pypi&logoColor=white&label=veo" alt="PyPI veo-mcp-server"></a> <a href="https://pypi.org/project/nanobanana-imagen-mcp/"><img src="https://img.shields.io/pypi/v/nanobanana-imagen-mcp?style=for-the-badge&logo=pypi&logoColor=white&label=nanobanana" alt="PyPI nanobanana-imagen-mcp"></a> <a href="#"><img src="https://img.shields.io/badge/MCP-Compatible-blue?style=for-the-badge" alt="MCP"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="MIT"></a> <a href="#"><img src="https://img.shields.io/badge/Claude_Code-Plugin-purple?style=for-the-badge" alt="Claude Code"></a> <a href="#"><img src="https://img.shields.io/badge/Gemini-Powered-4285F4?style=for-the-badge&logo=google&logoColor=white" alt="Gemini"></a> </p>
<p> <a href="#whats-included">What's Included</a> • <a href="#quick-start">Quick Start</a> • <a href="#veo-server">VEO Server</a> • <a href="#nanobanana-server">NanoBanana Server</a> • <a href="#prompting-skills">Skills</a> • <a href="#contributing">Contributing</a> </p> </div>
| CLI | Install check | Version check |
|---|---|---|
veo-mcp-server |
veo-mcp-server --help |
veo-mcp-server --version |
nanobanana-imagen-mcp |
nanobanana-imagen-mcp --help |
nanobanana-imagen-mcp --version |
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 4K videos with VEO 3.1, create stunning images with NanoBanana Pro 2, and craft professional prompts with built-in skills -- all from a single repository.
What's Included
MCP Servers
| Server | Description | Tools |
|---|---|---|
| VEO 3.1 | AI video generation (text-to-video, image-to-video, extend, interpolate) | 9 tools |
| NanoBanana | AI image generation with NanoBanana Pro 2 (Pro + Flash models) | 4 tools |
Claude Code Skills (Plugin Marketplace)
| Skill | Description |
|---|---|
| VEO Prompting | 7-layer prompt engineering for cinematic VEO 3.1 videos |
| NanoBanana Prompting | 7-layer prompt engineering for photorealistic NanoBanana Pro 2 images |
Install skills via Claude Code:
/plugin marketplace add u2n4/gemini-media-mcp
Quick 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 VEO Server / NanoBanana Server sections).
Option B — clone + editable install
git clone https://github.com/u2n4/gemini-media-mcp.git
cd gemini-media-mcp
# Create a virtual environment (uv pip install requires one — or pass --system)
uv venv
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows PowerShell
# Install one or both sub-packages
uv pip install -e servers/veo
uv pip install -e servers/nanobanana
VEO Server
uvx (zero-install):
{
"mcpServers": {
"veo": {
"command": "uvx",
"args": ["veo-mcp-server"],
"env": {
"GEMINI_API_KEY": "your_key",
"VIDEO_OUTPUT_DIR": "./videos"
}
}
}
}
Claude Code:
claude mcp add veo -s user -e GEMINI_API_KEY=your_key -- uvx veo-mcp-server
pip install:
pip install veo-mcp-server
NanoBanana 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-mcp
pip install:
pip install nanobanana-imagen-mcp
VEO Server
AI video generation powered by Google VEO 3.1. Uses an async job pattern where generation starts in the background and returns a job ID for polling -- no timeouts.
Tools
| Tool | Description |
|---|---|
veo_generate_video |
Generate video from text prompt. Supports 720p/1080p/4K, 16:9 or 9:16, 4/6/8 second duration, negative prompts, reference images, seed control, and batch generation (1-4 videos). |
veo_image_to_video |
Animate a reference image with a motion prompt. |
veo_interpolate_video |
Create smooth transition between two frames (first frame + last frame). |
veo_extend_video |
Extend an existing VEO video by ~7 seconds. 720p only, max 148 seconds total. |
veo_check_job |
Check async job status. Call every 15-20 seconds until completed or failed. |
veo_list_jobs |
List all generation jobs and their current status. |
veo_api_status |
Check API key status -- keys configured, active key, keys remaining. |
veo_pricing_info |
Show pricing per second for standard and fast models at all resolutions. |
veo_show_output_stats |
Display generation statistics -- video count, total size, file details, job statuses. |
VEO Configuration
| Variable | Description | Default |
|---|---|---|
GEMINI_API_KEY |
Primary API key (required) | -- |
GEMINI_API_KEY_BACKUP |
Backup key for auto-rotation | -- |
VIDEO_OUTPUT_DIR |
Output directory for videos | ~/veo-videos |
VEO Models
| Tier | Model | Best For |
|---|---|---|
| Standard | veo-3.1-generate-preview |
Higher quality output |
| Fast | veo-3.1-fast-generate-preview |
Quicker generation |
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_image |
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_file |
Upload reference image for editing or conditioning. |
show_output_stats |
Display generation statistics -- image count, total size, file details. |
maintenance |
Server maintenance and cleanup -- clear caches, remove temporary files. |
Models
| Model | Engine | Best For |
|---|---|---|
| Pro | Gemini 3 Pro Image | Maximum quality, complex scenes |
| Flash | Gemini 3.1 Flash Image | Fast generation, simple scenes |
Prompting Skills
VEO Prompting Skill
7-layer prompt engineering system for VEO 3.1:
- 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)
- Audio Design (dialogue, SFX, ambient, music)
- Technical Controls (negative prompts, style anchors, film stocks)
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/
│ ├── veo/ # VEO 3.1 MCP Server (PyPI: veo-mcp-server)
│ │ ├── pyproject.toml
│ │ ├── requirements.txt
│ │ └── src/
│ │ └── veo_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/
│ ├── veo-prompting/ # VEO prompting skill
│ │ └── SKILL.md
│ └── nanobanana-prompting/ # NanoBanana prompting skill
│ └── SKILL.md
├── plugins/ # Claude Code Plugin Marketplace
│ ├── veo-prompting/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── skills/
│ │ └── veo-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.md
Contributing
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.
- VEO 3.1 by Google DeepMind
Support
If you find this useful, please star this repository!
Made with ❤️ in the Eastern Province of Saudi Arabia.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。