Skip to main content
Glama

gemini-omni-mcp

An MCP server that lets Claude (or any MCP client) control Google Gemini Omni — Google's new "any-to-any" video-generation model (announced at Google I/O 2026).

Why a browser bridge? As of June 2026, Gemini Omni has no public developer API. Google said the Vertex AI rollout is "coming in the coming weeks." Until then, Omni only exists inside the Gemini app, Google Flow, and YouTube. This server bridges that gap by driving a logged-in Chrome session — and is built so it can swap to the official API in one place the moment it ships.

How it works

Claude  ──MCP──►  gemini-omni-mcp  ──Playwright──►  Chrome (your Google login)  ──►  Gemini Omni
  • Your Google login lives in a persistent Chrome profile (.auth-profile/). You sign in once, yourself — the code never sees, types, or stores your password.

  • Tools are exposed over MCP so Claude can call them directly.

Related MCP server: Gemini Image & Video Generation MCP

Status

🚧 Phase 1 — scaffold (this commit). MCP server, browser session manager, and tool definitions are in place. The UI automation selectors are placeholders, to be mapped against the live Gemini Omni interface in Phase 2.

Phase

What

State

1

Repo scaffold, MCP skeleton, auth flow

✅ done

2

Map the real Gemini/Flow DOM, wire generation + download

⏳ next

3

Register in Claude Desktop, end-to-end test

4

Swap to official Vertex AI Omni API when released

🔭 future

Setup

npm install
npx playwright install chromium
npm run build
npm run auth      # opens Chrome — log in to Google once

Use as an MCP server in Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "gemini-omni": {
      "command": "node",
      "args": ["C:/Users/tamir/Desktop/gemini-omni-mcp/dist/index.js"]
    }
  }
}

Creating the perfect video

Don't fire a one-line prompt. The project ships a creation interview — subject, action, setting, style, lighting, camera, aspect ratio, consistency, mood — plus support for editing an existing video. The tools accept a structured brief, not just a string, to nudge the caller into gathering those details first. See GUIDE.md for the full flow and prompt template.

Tools

Tool

Description

omni_status

Is the session signed in? Is a generation running?

omni_generate_video

Generate a video from a structured brief (or full prompt); returns the saved file path.

omni_edit_video

Edit an existing video — describe one change; Omni keeps characters/physics/continuity.

Configuration

See .env.example. Copy it to .env to override defaults (profile dir, output dir, surface, headless, timeout).

License

MIT

Available Tools

3 tools
omni_edit_videoA

Edit an existing video with Gemini Omni (it keeps characters, physics and scene continuity). Describe ONE change in plain language. Restate what stays the same, then the change. See GUIDE.md §1.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeYesThe single change to make, in plain language.
sourceNoWhich source to edit (e.g. 'last result' or a file path).
timeoutSecondsNoMax seconds to wait.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool keeps characters, physics, and scene continuity, which is a key behavioral trait. However, it does not mention side effects (e.g., overwriting original), required permissions, rate limits, or performance characteristics. The description is somewhat transparent but incomplete for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the key purpose, and every sentence contributes value. It includes a reference to external documentation without fluff. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of editing a video with AI and no output schema, the description covers the core action and change format but lacks details about output (e.g., format, file location), input video requirements (e.g., must exist), and potential limitations. It references GUIDE.md, but the description itself is somewhat incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline is 3. The description adds value to the 'change' parameter by specifying the required phrasing format (one change, restate what stays the same, then the change). This clarifies how to use the parameter beyond the schema's description. The other parameters ('source', 'timeoutSeconds') are not further elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool edits an existing video using Gemini Omni, preserving characters, physics, and scene continuity. This distinguishes it from siblings: omni_generate_video (generates new videos) and omni_status (checks status). The verb 'edit' and resource 'video' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear format for describing the change: 'ONE change in plain language. Restate what stays the same, then the change.' It also references GUIDE.md for more details. However, it does not explicitly state when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

omni_generate_videoA

Generate a video with Gemini Omni. IMPORTANT: do NOT pass a raw one-liner — first run the creation interview in GUIDE.md (subject, action, setting, style, lighting, camera, aspect ratio, consistency, mood) and pass either a fully-formed prompt or a filled brief. Returns the local file path when done.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNoA complete, vivid prompt. Omit if you pass `brief` instead.
briefNoStructured brief; composed into a prompt if `prompt` is omitted.
aspectRatioNo9:16 Reels/TikTok, 16:9 YouTube, 1:1 post.
timeoutSecondsNoMax seconds to wait.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses that the tool returns a local file path and requires an interview process. Does not mention error handling or permission needs, but overall transparent for a generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact single paragraph with no redundant sentences. Purpose, warning, usage instructions, and output are all present and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main use case ('generate a video') and input options. Does not specify behavior when both `prompt` and `brief` are provided or error handling. Nested object schema is well-explained in description. Output is stated. Lacks edge case details but sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds context: explains the relationship between `prompt` and `brief`, the interview process, and the importance of not passing a raw one-liner. Enhances schema understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with 'Generate a video with Gemini Omni'—specific verb+resource. Distinguishes from sibling tools (omni_edit_video, omni_status) by focusing on generation. Also mentions returning a local file path, clarifying the outcome.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to run the creation interview in GUIDE.md first, then pass either a fully-formed `prompt` or a filled `brief`. Advises against passing a raw one-liner. Implicitly differentiates from edit/status tools via sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

omni_statusA

Check whether the Gemini session is signed in and whether a generation is in progress.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as safety (read-only), authentication requirements, or side effects. It only states the checks performed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It efficiently communicates the two checks the tool performs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main purpose but is incomplete without an output schema or mention of return values, which would help an agent understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so schema coverage is trivially 100%. The description does not need to add parameter meaning, and the baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb 'Check' and explicitly names two resources: 'Gemini session signed in' and 'generation in progress'. It clearly distinguishes from sibling tools omni_edit_video and omni_generate_video which perform actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies using this tool to check status before performing generation or editing, but it does not explicitly state when to use it vs. alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedomni_edit_video
    • First observedomni_generate_video
    • First observedomni_status

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct and clearly defined purpose: editing videos, generating videos, and checking session status. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent pattern with the 'omni_' prefix and verb_noun construction (edit_video, generate_video, status).

Tool Count5/5

Three tools is appropriate for a focused video generation and editing server, covering the essential operations without unnecessary extras.

Completeness4/5

The tool surface covers generation, editing, and status checking. Missing operations like listing or deleting videos, but these are not core to the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers