GoogleFlow_MCP
Allows generating videos and images using Google's Veo 3.1 and Nano Banana models via the Gemini API, supporting text-to-video, image-to-video, video extension, image generation, and local asset management.
Allows using Google Cloud Vertex AI as an alternative backend for accessing Veo and Nano Banana models, with configurable project and region settings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GoogleFlow_MCPmake an 8s vertical video of a steaming coffee cup at sunrise"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GoogleFlow_MCP
Servidor MCP para crear videos e imágenes con los modelos de Google Flow (Veo 3.1 y Nano Banana) desde Claude Code y Codex, con instrucciones en lenguaje natural.
"Hazme un video vertical de 8 s de una taza de café humeante en una cocina al amanecer, cámara lenta, con sonido de lluvia."
El agente (Claude o Codex) convierte tu petición en un prompt cinematográfico, llama a Veo, espera el render y te deja el .mp4 en tu disco.
Cómo funciona
Claude Code / Codex ──MCP (stdio)──▶ googleflow-mcp ──Gemini API / Vertex AI──▶ Veo 3.1 · Nano Banana
│
└──▶ ./flow-output/{videos,images}/ + manifest.jsonImportante: flow.google.com no tiene una API pública. Este servidor usa la API oficial de Gemini (o Vertex AI), que da acceso a los mismos modelos que usa Flow. Consecuencias:
Los clips no aparecen en tu proyecto de Flow; se guardan en local (
FLOW_OUTPUT_DIR). Puedes subirlos a Flow como "ingredients" si quieres seguir editando allí.Se cobra por uso a tu API key de Gemini / proyecto de Google Cloud, no con los créditos de tu suscripción de Google AI.
No hace scraping ni automatiza el navegador, así que no rompe cuando Google cambia la interfaz de Flow ni viola sus términos.
Related MCP server: Codex Image Control MCP Server
Herramientas
Herramienta | Equivale en Flow a | Qué hace |
| Text / Frames / Ingredients to Video | Genera clips con Veo. Admite primer y último fotograma, hasta 3 imágenes de referencia, relación de aspecto, resolución, duración, prompt negativo y semilla. |
| Extend / Scene Builder | Continúa un clip generado antes con un nuevo prompt. |
| — | Consulta un render pendiente y lo descarga cuando termina. |
| Generación de imágenes (Nano Banana) | Crea o edita imágenes (personajes, productos, fotogramas clave) para usarlas después en video. |
| Biblioteca del proyecto | Lista lo generado, con ids y rutas locales. |
| — | Muestra qué modelos Veo / imagen tiene disponibles tu key. |
También incluye el prompt MCP flow_director: le das una idea y arma un guion de tomas y las renderiza paso a paso.
Las imágenes generadas reciben un id (img_…) que puedes pasar directamente como startImage, endImage o referenceImages para mantener la consistencia de personajes.
Requisitos
Node.js 20 o superior
Una API key de Gemini: https://aistudio.google.com/apikey (Veo necesita la facturación activada en el proyecto)
Alternativa: Vertex AI con
gcloud auth application-default login
Instalación
PowerShell (Windows)
git clone https://github.com/marvicqui/GoogleFlow_MCP.git C:\src\GoogleFlow_MCP
cd C:\src\GoogleFlow_MCP
npm install # también compila (script "prepare")bash (macOS / Linux)
git clone https://github.com/marvicqui/GoogleFlow_MCP.git ~/src/GoogleFlow_MCP
cd ~/src/GoogleFlow_MCP
npm installConectar con Claude Code
# PowerShell
claude mcp add googleflow --scope user `
-e GEMINI_API_KEY=$env:GEMINI_API_KEY `
-e FLOW_OUTPUT_DIR="$HOME\Videos\flow" `
-- node C:\src\GoogleFlow_MCP\dist\index.js# bash
claude mcp add googleflow --scope user \
-e GEMINI_API_KEY="$GEMINI_API_KEY" \
-e FLOW_OUTPUT_DIR="$HOME/Videos/flow" \
-- node ~/src/GoogleFlow_MCP/dist/index.jsComprueba con claude mcp list o /mcp dentro de Claude Code. Para compartirlo con un equipo, usa un .mcp.json en el repo (ver examples/claude-mcp.json).
Si un render largo se corta por tiempo, sube el timeout de herramientas MCP antes de abrir Claude Code: $env:MCP_TOOL_TIMEOUT=600000 (PowerShell) o export MCP_TOOL_TIMEOUT=600000 (bash). Otra opción es pedir wait: false y luego usar flow_check_operation.
Conectar con Codex
codex mcp add googleflow --env GEMINI_API_KEY=$env:GEMINI_API_KEY -- node C:\src\GoogleFlow_MCP\dist\index.jsLuego, en ~/.codex/config.toml, sube el timeout (un video tarda de 1 a 6 minutos y Codex corta a los 60 s por defecto):
[mcp_servers.googleflow]
command = "node"
args = ["C:\\src\\GoogleFlow_MCP\\dist\\index.js"]
tool_timeout_sec = 600
[mcp_servers.googleflow.env]
GEMINI_API_KEY = "tu-api-key"Ejemplo completo en examples/codex-config.toml.
Variables de entorno
Variable | Por defecto | Descripción |
| — | API key de Gemini (obligatoria si no usas Vertex). También vale |
|
|
|
| — / | Proyecto y región de Vertex AI. |
|
| Carpeta donde se guardan videos, imágenes y |
|
| Modelo de video principal. |
|
| Modelo usado con |
|
| Modelo de imagen (Nano Banana Pro). También acepta modelos |
Google renombra los modelos a menudo (sobre todo los -preview). Si uno deja de existir, pide "lista los modelos de Flow disponibles" (flow_list_models) y ajusta la variable.
Ejemplos de instrucciones
"Genera un video 16:9 de 8 segundos: dron sobrevolando un bosque de niebla al amanecer, estilo documental, con ambiente de pájaros."
"Crea una imagen de mi personaje: una astronauta de 30 años con traje naranja, estilo Pixar. Luego haz un video donde ella camina por Marte usando esa imagen como referencia."
"Usa
C:\fotos\producto.pngcomo primer fotograma y haz un giro de 360° del producto sobre fondo blanco, versión rápida.""Extiende el último video: la cámara se aleja y se ve la ciudad."
"/mcp__googleflow__flow_director un anuncio de 30 segundos para una cafetería, formato 9:16"
Desarrollo
npm run dev # tsc --watch
npm run inspect # abre MCP Inspector para probar las herramientasEstructura:
src/
index.ts # definición del servidor MCP, herramientas y prompt
flow.ts # cliente de Veo / Nano Banana (SDK @google/genai)
store.ts # manifest local de assets y operaciones pendientes
config.ts # variables de entornoLimitaciones
No lee ni escribe en tus proyectos de flow.google.com (no hay API pública para eso).
flow_extend_videosolo funciona con videos generados por este servidor; en la Gemini API el archivo remoto caduca a los ~2 días y la extensión es a 720p.Disponibilidad de funciones (4K, audio, imágenes de referencia, último fotograma) depende del modelo y de la región; si la API rechaza un parámetro, el error se devuelve al agente tal cual.
Con la Gemini API,
generateAudioyseedno existen: el servidor los ignora y lo indica enignored. Veo 3.x genera audio siempre; describe los sonidos en el prompt.Veo no tiene capa gratuita en la Gemini API. Sin facturación activa verás
429 RESOURCE_EXHAUSTEDaunque no hayas generado nada. Actívala en https://aistudio.google.com/apikey ("Set up billing") y revisa el consumo en https://aistudio.google.com/usage.Los videos de Veo llevan marca de agua SynthID.
Licencia
MIT
Available Tools
6 toolsflow_check_operationCheck video renderA
Check (and optionally wait for) a pending Veo operation. When finished, the video is downloaded and its asset id/path returned. Call without operationName to list all pending renders.
| Name | Required | Description | Default |
|---|---|---|---|
| waitSeconds | No | How long to keep polling (default 0 = check once). | |
| operationName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses key behavior: polling, optional waiting, downloading the finished video, and returning an asset id/path. It does not cover failure/expiry states, rate limits, or permissions, but the main side effects and outcome are stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with no wasted wording. The core action and the important omit-parameter behavior are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter polling tool with no output schema, the description covers the return value (asset id/path), the optional wait behavior, and the listing mode. It is nearly complete, though it omits what happens on failed or expired operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: waitSeconds is well documented in the schema, while operationName has no schema description. The description adds meaning for operationName by explaining that omitting it lists all pending renders, but it does not define the expected format or source of operationName, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: check a pending Veo operation, with the behavior when finished and the listing mode when operationName is omitted. It is clear enough to distinguish from generation siblings by the 'pending operation' framing, but it does not explicitly name or contrast with flow_list_assets or flow_generate_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage rule: call without operationName to list all pending renders, and optionally wait via waitSeconds. It does not provide explicit when-not conditions or comparisons to sibling tools such as flow_list_assets, but the core usage contexts are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_extend_videoExtend video (Flow 'Extend')A
Continue a previously generated Veo video with a new prompt, like Flow's Extend / Scene Builder. The source must be a video asset generated by this server (Gemini API keeps the remote file ~2 days, 720p only).
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | ||
| model | No | ||
| prompt | Yes | What happens next in the scene. | |
| videoId | Yes | Asset id of the video to extend (e.g. vid_...). | |
| timeoutSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no formal annotations, the description carries the full burden and excels. It discloses crucial operational behavior, including the 2-day retention limit of remote files and the 720p resolution constraint, which is vital for an agent making quality-sensitive decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is extremely concise. It front-loads the main function and immediately follows up with essential behavioral constraints (source required, time limit, quality limit) without any unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the core function and the most critical limitations are covered, the lack of semantic guidance on the 3 unspecified parameters ('wait', 'model', 'timeoutSeconds') means the definition is not fully complete for a complex multi-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema coverage is low at 40%. The description focuses on the overall action and constraints, providing no semantic explanation or context for parameters like 'wait' or 'timeoutSeconds,' forcing the AI agent to rely entirely on schema documentation for the technical parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's function as continuing a previously generated video asset. By naming it 'Extend,' it distinguishes the action from the 'flow_generate_video' sibling tool. It clearly states the action but could be slightly more explicit about the chain of operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides critical usage context: the source video must be generated by this specific server. It also outlines operational constraints regarding file retention and resolution, which dictates the proper use case and expectations for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_generate_imageGenerate or edit image (Nano Banana)A
Create or edit images with Google's image models (Nano Banana / Imagen), as in Flow's image tools. Without inputImages: text-to-image. With inputImages: edit, restyle, or combine them according to the prompt. Use it to build characters, props and keyframes, then pass the returned asset ids to flow_generate_video as startImage/endImage/referenceImages. Returns local paths and a preview.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Override model id, e.g. gemini-3-pro-image-preview or imagen-4.0-generate-001. | |
| prompt | Yes | Description of the image or the edit to make. | |
| preview | No | Return the image inline so you can see it (default true). | |
| imageSize | No | ||
| aspectRatio | No | Use 16:9 or 9:16 for video keyframes. | |
| inputImages | No | Asset ids or local paths to edit/compose. | |
| numberOfImages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does useful work: it explains the mode switch on inputImages and that it returns local paths plus a preview. But it never says whether generation is synchronous or returns an operation id to poll (relevant given the flow_check_operation sibling, which implies async work exists), nor anything about cost, latency, or failure modes. A meaningful gap for a generation call with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with capability, then mode logic, then workflow handoff, then return shape. Nearly every sentence earns its place; the only soft spot is the 'as in Flow's image tools' clause, which adds little for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by naming the return values (local paths and a preview). It is nearly complete for a creative-generation tool; the missing piece is whether the call blocks until the image is ready or requires polling via flow_check_operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so the schema documents most parameters, including aspectRatio guidance for video keyframes. The description adds genuine semantics the schema does not: the presence or absence of inputImages is what selects text-to-image versus edit/restyle/combine, which reframes inputImages as a mode flag rather than a plain array. It does not elaborate on model overrides or numberOfImages.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (create/edit images) plus the underlying models (Nano Banana / Imagen), then splits the tool into two clearly named modes: text-to-image without inputImages, and edit/restyle/combine with them. This is enough to distinguish it from flow_generate_video and the other siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage context: build characters, props and keyframes, then hand the returned asset ids to flow_generate_video as startImage/endImage/referenceImages. That is an explicit workflow handoff. It stops short of stating when NOT to use it (e.g. when to prefer flow_generate_video or flow_extend_video), so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_generate_videoGenerate video (Veo, like Google Flow)A
Create a short video clip with Veo (the model behind Google Flow). Modes: text-to-video (prompt only); frames-to-video (startImage, optional endImage); ingredients-to-video (referenceImages for consistent characters/objects/style). Write a cinematic prompt: subject, action, setting, camera move, lens, lighting, style, and any dialogue in quotes plus sound effects/ambience. Images can be asset ids (from flow_list_assets / flow_generate_image) or local file paths. Rendering takes 1-6 minutes; by default the tool waits. If it returns status=pending, call flow_check_operation later. Files are saved locally and the result includes their paths.
| Name | Required | Description | Default |
|---|---|---|---|
| fast | No | Use the cheaper/faster model (FLOW_VIDEO_FAST_MODEL). | |
| seed | No | Vertex AI only; ignored on the Gemini API. | |
| wait | No | Wait for the render (default true). false returns an operationName immediately. | |
| model | No | Override model id, e.g. veo-3.1-generate-preview. | |
| prompt | No | Detailed description of the shot. Required unless startImage is given. | |
| endImage | No | Last frame: asset id or local image path (needs startImage). | |
| resolution | No | Output resolution. Not every model supports every value. | |
| startImage | No | First frame: asset id or local image path. | |
| aspectRatio | No | 16:9 landscape (default) or 9:16 vertical. | |
| generateAudio | No | Vertex AI only. Leave unset on the Gemini API: Veo 3.x there always generates audio, so describe sounds in the prompt. | |
| negativePrompt | No | What to avoid, e.g. 'text overlays, blurry, cartoon'. | |
| numberOfVideos | No | ||
| timeoutSeconds | No | Max seconds to wait (default 540). | |
| durationSeconds | No | Clip length in seconds (Veo 3.1: 4, 6 or 8). | |
| referenceImages | No | Up to 3 'ingredient' images (asset ids or paths). | |
| personGeneration | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: 1-6 minute render latency, default blocking behavior via wait, the pending/operationName fallback path, and that files are written locally with their paths returned. It also flags that image arguments accept either asset ids or local file paths, which is non-obvious side-effect-adjacent context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every sentence adds information; the prompt-writing and latency sentences both earn their place. It is a single dense block rather than structured sections, so the mode list and the async-fallback instruction take a careful read to separate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the things an agent cannot infer: render time, blocking vs non-blocking, where output files land, and the pending-operation handoff. For a 16-parameter, no-annotation, no-output-schema tool it omits cost implications and safety-relevant behavior (personGeneration, content restrictions), which the agent must infer from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 88%, so the 3 baseline applies, but the description adds genuine value by tying startImage/endImage/referenceImages to named modes and by spelling out what a good 'prompt' should contain (subject, action, camera move, lens, lighting, dialogue in quotes, SFX). It leaves several params (numberOfVideos, resolution, aspectRatio, negativePrompt, personGeneration, fast, seed) entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a short video clip with Veo') and immediately enumerates the three generation modes, which cleanly separates it from flow_generate_image (stills) and flow_extend_video (extending an existing clip). The scope constraint 'short video clip' plus the duration bounds makes the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly maps each mode to its required inputs ('text-to-video (prompt only)', 'frames-to-video (startImage, optional endImage)', 'ingredients-to-video (referenceImages...)'), states the prompt-unless-startImage condition, and routes the agent to flow_check_operation when status=pending. It even points at flow_list_assets / flow_generate_image as the source of image ids.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_list_assetsList generated assetsARead-only
List videos and images created by this server (newest first), with ids, prompts and local paths.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds useful behavior: results are newest first, scoped to assets created by this server, and include ids, prompts, and local paths. It lacks detail on pagination defaults and rate limits, but adds substantial context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It efficiently conveys the resource, scope, ordering, and return fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description covers the core return content and sort order, which is helpful. However, with 0% schema description coverage, the missing explanation of 'kind' and 'limit' leaves the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for two undocumented parameters. It does not explain the 'kind' filter (video vs image) or the 'limit' parameter at all, leaving both optional parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('videos and images created by this server'), making it clearly distinct from the generation and model-listing siblings. An agent can immediately tell this is the read-only asset inventory tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The listing purpose is implied by the description, but there is no explicit guidance on when to use this versus flow_list_models or the generation tools. No exclusions or alternative-selection advice are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_list_modelsList available video/image modelsARead-only
List the Veo / image model ids your API key can use, plus the defaults this server is configured with.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds real context beyond that: results are scoped to the caller's API key and also expose the server's configured defaults. It stops short of noting rate limits or whether the list can change over time, but it meaningfully exceeds the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, leading with the verb and the resource. Every clause (key scoping, defaults) adds distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only discovery tool with no output schema, the description conveys enough about what comes back (model ids plus defaults). A small gap remains: it does not say whether the defaults are a separate field or embedded per model entry, which matters slightly with no output schema to consult.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No misleading parameter claims are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and a precise resource (Veo / image model ids), and adds the scope qualifier 'your API key can use' plus the server-configured defaults. It is unmistakably distinct from the generation/asset siblings, which return media rather than model metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a discovery call to run before generating video or images. There is no explicit 'call this first' directive and no statement of when not to use it versus flow_list_assets, so guidance stays at the implied level.
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.
6 tool updates
v0.1.0- First observed
flow_check_operation - First observed
flow_extend_video - First observed
flow_generate_image - First observed
flow_generate_video - First observed
flow_list_assets - First observed
flow_list_models
TDQS
Scored across 6 tools
Each tool targets a distinct operation: video generation, video extension, image generation, operation status, asset listing, and model listing. The only conceptual proximity is between flow_generate_video and flow_extend_video, but their descriptions clearly separate creation from continuation.
All tools follow a consistent flow_verb_noun pattern in snake_case: flow_generate_video, flow_extend_video, flow_check_operation, flow_generate_image, flow_list_assets, flow_list_models. There are no mixed conventions or vague names.
Six tools are well-scoped for a media-generation server, covering generation, extension, status checking, image creation, and listing assets/models. Each tool earns its place without bloating the surface.
The surface covers the core Flow workflow: generate video/images, extend videos, check pending renders, and list assets/models. Minor lifecycle gaps exist, such as canceling operations or deleting assets, but agents can work around them.
Maintenance
Related MCP Connectors
Create images, video and audio; reuse assets and build Canvas workflows from your AI assistant.
1Generate AI images, video, voiceovers and music from Claude, ChatGPT or Cursor through 50+ models (Veo 3.1, Kling 3, Seedance, Nano Banana, GPT Image, ElevenLabs). Also image editing, upscaling, background removal, face swap, transcription, voice cloning and UGC-style video ads. Sign in with OAuth — no API key to paste. Tools are annotated (read-only vs. credit-spending); failed generations are refunded.
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.5 and more.
Turn any LLM multimodal; generate images, voices, videos, 3D models, music, and more.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Claude Code to generate, edit, blend, and create variations of images using BytePlus SeeDream AI models, with streaming and Firebase sync.6MIT
- AlicenseNot gradedqualityAmaintenanceEnables local image generation control and storyboard planning within Codex, supporting continuous image editing, formal image writing, video prompt management, and user-configured video connectors.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables prompt-driven video editing in Adobe Premiere Pro, allowing Claude to transcribe footage, decide cuts, build motion graphics, and assemble timelines via natural language.-
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to generate cinematic video and image assets and perform autonomous timeline assembly, multi-track audio editing, chroma-key compositing, and local draft manipulation from conversational prompts.3MIT