Skip to main content
Glama

CLI

Install check

Version check

omni-mcp-server

omni-mcp-server --help

omni-mcp-server --version

nanobanana-imagen-mcp

nanobanana-imagen-mcp --help

nanobanana-imagen-mcp --version


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-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 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 --help

Omni 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-server

pip install:

pip install omni-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

Omni 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

omni_generate_video

Generate from text: 3–15 seconds (default 10), 360p/720p/1080p/4k, 16:9 or 9:16. Optional comma-separated reference_image_paths accepts 1–6 subject images. Returns a background job ID.

omni_image_to_video

Animate a JPEG, PNG or WebP with a text prompt; same duration, resolution and aspect options.

omni_extend_video

Extend a completed source_job_id or Gemini Files API video_uri; 3–10 seconds per turn (default 10), 720p, up to 30 seconds total (API enforced). Returns a job ID.

omni_interpolate_video

Transition between first_frame_path and last_frame_path; 3–10 seconds (default 10), 360p/720p/1080p/4k. Returns a job ID.

omni_check_job

Check async job status. Call every 15-20 seconds until completed or failed.

omni_list_jobs

List all generation jobs and their current status.

omni_api_status

Check API key status -- keys configured, active key, keys remaining.

omni_pricing_info

Link to current Gemini Omni pricing documentation.

omni_show_output_stats

Display generation statistics -- video count, total size, file details, job statuses.

Omni 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

~/omni-videos

Omni Models

Tier

Model

Best For

Standard

gemini-omni-1.2-flash

Default model

Fast

gemini-omni-1.2-flash

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_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-nano-banana-2.1

Fast generation, simple scenes

Prompting Skills

Omni Prompting Skill

Prompt planning guidance for Gemini Omni:

  1. Cinematography (camera, shot type, lens, angles)

  2. Subject (characters, objects, material cues)

  3. Action (force-based verbs, timestamp beats)

  4. Environment (time of day, weather, depth layers)

  5. Lighting & Mood (physical light sources, color temperature)

  6. Continuity (reference images, first/last frames and extension)

  7. Tool Controls (duration, resolution, aspect ratio and output path)

NanoBanana Prompting Skill

7-layer prompt engineering system for NanoBanana Pro 2:

  1. Style & Art Direction (visual DNA)

  2. Scene Description (environment, atmosphere)

  3. Main Subject (hero element with extreme specificity)

  4. Camera & Lens (real camera specs for realism)

  5. Lighting (natural, studio, color temperature)

  6. Texture, Material & Color (tactile detail)

  7. 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.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.

  • 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…

    Related MCP Connectors

    Related MCP Servers

    Appeared in Searches