google-flow-mcp
Integrates with Google Flow to enable AI agents to generate images and videos, manage characters and scenes, and use Grid Architect for batch shot generation through your own Google account.
Click on "Install 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., "@google-flow-mcpGenerate an image of a futuristic city at night"
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.
π§ Google Flow Browser MCP
Control Google Flow β image & video generation β directly from your AI agent via MCP.
Fork of TMSSS05/google-flow-browser-mcp β adds macOS support and a working reference-image pipeline.
β¨ Features β’ π Quick Start β’ π§ Tools β’ βοΈ Configuration β’ π‘οΈ Safety
π«π· Ce serveur MCP permet Γ votre agent AI (OpenCode) d'utiliser Google Flow pour gΓ©nΓ©rer des images et des vidΓ©os, via votre propre compte Google et sans partager vos identifiants.
πΈ What It Does
This MCP server connects your AI agent to Google Flow β Google's creative suite for image and video generation. Your agent can:
π¨ Generate images with Nano Banana Pro, Nano Banana 2, or Imagen 4
π¬ Create videos and scenes with characters
π§ Manage characters and scenes in your Flow workspace
πΌοΈ Use Grid Architect for batch shot generation
π Discover and control any Flow tool programmatically
All through your own Google account β no API keys, no third-party tokens.
Related MCP server: flow-mcp
β¨ Features
π― For AI Agents
π For Humans
15+ MCP tools ready to use
Smart job queue β no parallel conflicts
Auto-discover UI β adapts to Flow changes
Structured logging for debugging
Safe actions β resilient click/fill logic
Your account, your data β no token sharing
No password asked β ever
Clean safety rules β stops on captcha/verification
Config backup before any modification
Single-job queue β no runaway generation
π Quick Start
Prerequisites
What | Why |
Node.js β₯ 18 | Runtime for the MCP server |
Google Chrome | Required for browser automation |
An MCP client | OpenCode, Claude Code, Claude Desktop, or any other MCP-compatible agent |
A Google account | To use Google Flow (yours, not shared) |
1οΈβ£ Install
git clone https://github.com/MinaSalib216/google-flow-mcp.git
cd google-flow-mcp
npm install2οΈβ£ Configure your Google profile
cp config/flow.config.example.json config/flow.config.jsonEdit config/flow.config.json:
{
"expectedAccount": "your.email@gmail.com",
"chromeProfile": "Profile 3",
"chromeUserDataDir": "/home/you/.config/google-chrome"
}π‘ Finding your Chrome profile:
Open Chrome and go tochrome://version/. Look for "Profile Path" β the last folder name is your profile (e.g.,Profile 3orDefault), and the path before it is yourchromeUserDataDir.
β οΈ macOS only: Chrome refuses
--remote-debugging-porton your real, OS-default profile directory ("DevTools remote debugging requires a non-default data directory"). PointchromeUserDataDirat a copy of your profile instead:mkdir -p "$HOME/.google-flow-chrome-profile" cp -R "$HOME/Library/Application Support/Google/Chrome/Default" \ "$HOME/.google-flow-chrome-profile/Default"Then set
chromeUserDataDirto~/.google-flow-chrome-profileandchromeProfiletoDefault. This preserves your login session without touching your real Chrome profile. Linux is unaffected by this restriction.
3οΈβ£ Make scripts executable
chmod +x scripts/*.sh4οΈβ£ Start Chrome with CDP
./scripts/start-browser.shThis launches Chrome with remote debugging enabled on port 9222 using your configured profile.
5οΈβ£ Start the MCP server
# In a separate terminal:
./scripts/start-mcp.sh6οΈβ£ Register with your MCP client
OpenCode:
./scripts/register-opencode.shπ Restart OpenCode after registration for the changes to take effect.
Claude Code: add a .mcp.json in your project root:
{
"mcpServers": {
"google-flow": {
"command": "node",
"args": ["/absolute/path/to/google-flow-mcp/src/index.js"]
}
}
}Any other MCP client: point it at node /absolute/path/to/google-flow-mcp/src/index.js over stdio.
β Verify it works
./scripts/test-flow-image.shποΈ Architecture
google-flow-browser-mcp/
β
βββ π config/
β βββ flow.config.example.json # Configuration template
β βββ selectors.map.json # UI selectors (auto-populated)
β
βββ π scripts/
β βββ start-browser.sh # Launch Chrome + CDP
β βββ start-mcp.sh # Start the MCP server
β βββ test-flow-image.sh # Quick integration test
β βββ register-opencode.sh # Register in OpenCode config
β
βββ π src/
β βββ index.js # MCP server entry point
β β
β βββ π browser/ # Chrome & CDP management
β β βββ connect.js # CDP connection manager
β β βββ launch-profile.js # Chrome profile launcher
β β βββ account-check.js # Verify Google account
β β βββ safe-actions.js # Safe click, fill, detection
β β
β βββ π tools/ # All MCP tool implementations
β β βββ flow-open.js # Navigate to Flow
β β βββ flow-status.js # Connection status
β β βββ generate-image.js # Image generation
β β βββ generate-video.js # Video generation (setup only)
β β βββ download-latest.js # Download generated files
β β βββ create-character.js # Create a character
β β βββ import-character.js # Import character JSON
β β βββ open-characters.js # List characters
β β βββ create-scene.js # Create a scene
β β βββ open-tools-gallery.js # Open tools gallery
β β βββ grid-architect.js # Batch shot generation
β β βββ discover-ui.js # UI discovery & mapping
β β βββ use-flow-tool.js # Generic tool opener
β β
β βββ π queue/ # Job management
β β βββ job-queue.js # Single-job queue
β β
β βββ π utils/ # Helpers
β βββ config.js # Config loader
β βββ logger.js # Structured logging
β βββ errors.js # Error codes & types
β βββ file-manager.js # File download/save
β βββ screenshots.js # Screenshot capture
β
βββ π output/ # Generated files land hereπ§ Tools
All tools are organized by function for easy discovery.
π Connection & Status
Tool | Description |
| Launch Chrome, connect CDP, navigate to Google Flow |
| Close browser and clean up all connections |
| Full status: connection, Flow loaded, account, queue state |
| Verify logged-in account matches configured email |
| Capture a screenshot of the current Flow page |
π¨ Image Generation
Tool | Description |
| Generate image with Nano Banana Pro, Nano Banana 2, or Imagen 4. Supports aspect ratios, reference images, and brand-based model selection. |
| Download the most recently generated file |
π¬ Video Generation
Tool | Description |
| Set up video generation (Omni Flash, Veo models, custom duration/ratio). β οΈ Stops at "ready to generate" β no credit consumed. |
| Create a video scene with characters and a text prompt |
π€ Characters
Tool | Description |
| Create a new character with name, description, and optional reference images |
| Import a character from a saved JSON file |
| Open the characters page and list all existing characters |
π οΈ Tools & Discovery
Tool | Description |
| Open the tools gallery and browse available tools |
| Open any Flow tool by name with optional parameters |
| Configure Grid Architect for batch shot generation with theme prompts, visual logic, and reference images |
| Discover and map all interactive elements (buttons, inputs, headings) on any Flow page |
π Queue & Monitoring
Tool | Description |
| Check job queue: active job, pending queue, completed and failed history |
βοΈ Configuration
Edit config/flow.config.json (copy from config/flow.config.example.json):
π Essential
Key | Type | Default | Description |
|
| β | Your Google account email β REQUIRED |
|
|
| Chrome profile directory name |
|
| β | Full path to Chrome user data directory β REQUIRED |
|
| Flow labs URL | Google Flow URL (supports |
π§ Advanced
Key | Type | Default | Description |
|
|
| Chrome DevTools Protocol port |
|
|
|
|
|
|
| Run Chrome in headless mode |
|
|
| UI locale ( |
β±οΈ Timing
Key | Default | Description |
|
| Max job execution time |
|
| Delay between UI actions (anti-detection) |
|
| How often to poll for generation completion |
|
| Max polling attempts before timeout |
|
| Wait time for file download |
π¨ Models & Ratios
Key | Description |
| Available models: |
| Available models: |
| Supported aspect ratios: |
π‘οΈ Safety & Ethics
This project is built with safety-first design:
β Principle | How it's enforced |
Your account only | Uses your own Google profile β never asks for or stores passwords |
No credential theft | Never exports cookies, tokens, or session data |
No bypass | Stops cleanly on captcha, login walls, or verification challenges |
No parallel abuse | Single-job queue prevents concurrent generation |
Credit-safe video | Video generation sets up parameters but stops before the final "Generate" click (no credit consumed) |
Config backup | Backs up OpenCode config before any modification |
β οΈ This is a browser automation tool. Use it responsibly and in accordance with Google's Terms of Service.
β FAQ
Getting Started
Open Chrome and go to chrome://version/. The Profile Path shows both your user data directory and profile name. For example:
/home/you/.config/google-chrome/Profile 3βchromeUserDataDir: "/home/you/.config/google-chrome",chromeProfile: "Profile 3"
You need a profile where you're already logged into your Google account.
Yes! Any MCP-compatible client (Claude Code, Claude Desktop, Continue.dev, etc.) can connect to this server. Just point your MCP config to node /path/to/src/index.js.
Troubleshooting
Make sure Chrome is installed at the expected path. scripts/start-browser.sh auto-detects macOS vs Linux and picks a sensible default (/Applications/Google Chrome.app/... vs /opt/google/chrome/chrome) β override with the CHROME environment variable if yours lives elsewhere.
Chrome blocks remote debugging on your real, OS-default profile folder. See the macOS callout in step 2 of Quick Start β point chromeUserDataDir at a dedicated copy of your profile instead.
The script checks for existing Chrome instances on port 9222. If something else is using that port, you can change cdpPort in config/flow.config.json (and update the script's CDP_PORT variable).
Verify that expectedAccount in config/flow.config.json matches the email logged into your Chrome profile. Use flow_account_check to verify.
Run flow_discover_ui to re-map selectors. The selectors.map.json will auto-update with new UI element positions.
Usage
Your AI agent calls flow_generate_image with a text prompt. Optionally specify model (Nano Banana 2 is default), aspect ratio, and reference images. The server waits for completion and makes the file available for download.
flow_generate_video sets up the video parameters (model, ratio, duration) but stops before clicking Generate. This lets you review the setup before consuming credits. The actual generation requires a paid Google Flow subscription.
π€ Contributing
Contributions are welcome! Please follow these guidelines:
Fork the repository
Create a feature branch (
git checkout -b feature/my-feature)Commit your changes (
git commit -m 'Add my feature')Push to the branch (
git push origin feature/my-feature)Open a Pull Request
π License
MIT Β© TMSSS05 β this fork adds macOS support and a working reference-image pipeline.
Available Tools
17 toolsflow_account_checkA
Verify the logged-in Google account matches the configured expected email (Profile 3).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the verification intention but does not describe what the tool actually returns (e.g., boolean, message), whether it is read-only, or what happens when the accounts do not match. This lack of behavioral detail is a significant gap given the absence of annotations.
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 sentence, perfectly concise and front-loaded with the main action ('Verify'). It contains no filler or redundant information. Every word contributes to the tool's purpose.
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 tool with no parameters, no output schema, and no annotations, the description provides a basic but adequate purpose. However, it lacks critical operational context such as what the tool returns, whether it is a safe read-only operation, and any failure indications. Given the simplicity of the tool, this makes it minimally viable but not fully 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?
The input schema has zero parameters and 100% schema description coverage, so there are no parameter semantics to explain. The description adds context about the expected email (Profile 3) which clarifies the tool's purpose. The baseline for zero parameters is 4, and the description does not require further elaboration.
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 states the tool verifies that the logged-in Google account matches a configured expected email. The verb 'verify' is specific, and the resource is precisely defined (logged-in Google account vs expected email). This distinguishes it from sibling tools like flow_connect or flow_status, which pertain to connections or general status rather than account verification.
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?
There is no explicit guidance on when to use this tool versus alternatives. The description does not mention any prerequisite conditions, exclusions, or cases where another tool would be more appropriate. An agent is left to infer that this is a pre-flight check, but that is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_connectA
Launch Chrome with the configured Google profile, connect CDP, navigate to Google Flow, and verify account.
| Name | Required | Description | Default |
|---|---|---|---|
| headless | No | Launch in headless mode (not recommended, Google Flow needs visible browser). | |
| open_flow | No | Auto-navigate to Google Flow after connection. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the main side effect (launching Chrome) and the steps performed, but lacks detail on whether the connection is persistent, what happens on verification failure, or whether the browser closes after the operation. This is moderate transparency but not complete.
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 sentence that packs four specific actions without fluff. It is front-loaded with the primary action ('Launch Chrome') and efficiently communicates the full flow.
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?
The description does not mention return values (no output schema exists) or the fact that this tool likely establishes a required connection for other flow_* tools. Without annotations, it could benefit from noting that it is a prerequisite and what 'verify account' entails. This is adequate but not fully 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 100%: both 'headless' and 'open_flow' have clear descriptions in the schema, including a warning about headless mode. The tool description does not add additional parameter semantics, but since the schema already covers them, a baseline score of 3 is appropriate.
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 states the tool's specific actions: launching Chrome, connecting CDP, navigating to Google Flow, and verifying the account. It distinguishes itself from sibling tools like flow_disconnect or flow_status by focusing on the connection setup.
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 does not provide explicit guidance on when to use this tool relative to alternatives. It implies it is a connection step but does not mention prerequisites, exclusions, or alternative tools. For example, it does not clarify whether this should be run before flow_status or flow_discover_ui.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_create_characterC
Create a new character in Google Flow Characters with name and description.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Character name. | |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| description | Yes | Character description/prompt. | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). | |
| reference_images | No | Paths to reference images for character design. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure, but it only repeats the basic action. It does not mention project matching, handling of optional parameters, side effects, authentication requirements, or return behavior, leaving the agent uninformed.
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, clear sentence that is front-loaded and free of waste. It conveys the core purpose without padding, despite being minimal.
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?
The tool has 5 parameters, no output schema, and no annotations, but the description covers only the two required parameters. It omits behavior around project matching, reference images, return values, and edge cases, making it severely incomplete for reliable invocation.
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 100%, so all parameters are documented in the schema. The description mentions only 'name and description,' which is redundant and adds no meaning beyond the schema, meriting the baseline score of 3.
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 ('Create') and resource ('character in Google Flow Characters'), clearly indicating its function. It distinguishes from flow_import_character by emphasizing 'new,' though it does not explicitly contrast with alternatives.
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?
No guidance is provided on when to use this tool versus alternatives like flow_import_character or flow_create_scene. The description only states what it does, without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_create_sceneB
Create a new scene in Google Flow Scenes with characters and prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Scene description/prompt. | |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| characters | No | Character names to include in the scene. | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action without covering side effects, dependencies, project reuse logic, or what happens after creation. This is a minimal disclosure for a tool that likely creates persistent state.
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 that is front-loaded with the verb and resource. Every word earns its place, and there is no redundant fluff or repetition of schema details. This is an effective level of conciseness.
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 tool with 4 parameters and no output schema, the description provides no information about return values, error conditions, or how the creation process behaves (e.g., whether it creates a new project or reuses an existing one via campaign). The description is too sparse to be considered complete for an agent invocation.
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 100%, so the baseline is 3. The description mentions 'characters and prompt,' which is partially redundant with the schema, and adds no extra meaning beyond what the property descriptions already provide. The campaign and project_name parameters are not discussed in the description, but the schema covers them adequately.
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 ('Create') and clearly identifies the resource ('a new scene in Google Flow Scenes'), with mention of characters and prompt. This distinguishes it from sibling tools like flow_create_character, which targets a different resource.
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?
No context is provided about when to use this tool versus alternatives. The description only states what it does, without any mention of prerequisites, typical use cases, or exclusions relative to sibling tools like flow_create_character or flow_use_grid_architect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_disconnectA
Close the browser and clean up the MCP connection to Google Flow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description declares the primary actions (closing browser, cleaning up connection) but does not disclose side effects such as terminating active sessions or preventing further operations. This is adequate for a simple cleanup tool but lacks deeper behavioral 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?
The description is a single, well-structured sentence that directly states the tool's function without unnecessary words. It is perfectly concise and 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 parameterless tool with no output schema or annotations, the description provides the essential information about its role as a disconnect/cleanup operation. It lacks explicit usage context but is otherwise complete for its simplicity.
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 has zero parameters and an empty schema, so the description adds nothing about parameters. Since there are no parameters to explain, the baseline of 4 is appropriate.
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 specific verbs 'Close' and 'clean up' to describe the resource (browser and MCP connection), clearly indicating this is the teardown counterpart to flow_connect. It distinguishes itself from sibling tools by its focus on disconnection and cleanup.
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 does not explicitly state when to use the tool or contrast it with alternatives like flow_connect. Usage must be inferred from the name and context, so the agent receives no direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_discover_uiA
Navigate to a Google Flow page and discover all interactive elements (buttons, inputs, links, headings). Updates the internal selectors map for robust automation.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Page to discover. Options: main, image-generation, video-generation, characters, scenes, tools-gallery, grid-architect. | main |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses navigation, discovery, and the internal side effect of updating the selectors map. However, it does not mention authentication, error behavior, potential page modifications, or what happens on failure, leaving some behavioral gaps.
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?
Two concise sentences with no redundant content. The action and purpose are front-loaded, and the secondary effect is stated efficiently.
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 single-parameter tool with no output schema, the description explains the core action and side effect, but does not clarify what the agent receives upon success or failure, nor any error handling. It is adequate but leaves room for more detail.
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 already fully documents the sole 'page' parameter with a description and default value. The tool description adds limited extra meaning beyond implying navigation to that page, so baseline 3 applies due to high schema coverage.
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?
Clearly defines the action (navigate and discover) and the resource (Google Flow page), and distinctly differentiates itself from siblings by mentioning the internal selectors map update. Sibling tools like flow_generate_image or flow_download_latest have clearly different purposes.
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?
Implies usage for preparing robust automation, but does not explicitly state when to use this tool over alternatives or mention any exclusions. The phrase 'for robust automation' gives context but lacks direct guidance on when to invoke it versus other flow tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_download_latestB
Download the most recently generated file from Google Flow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states select 'most recently generated' but does not explain whether the file is returned as content, a URL, or saved locally, nor any side effects or permissions.
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, clear sentence with no filler. It is front-loaded with the main action and resource, making it highly concise and easy to process.
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 tool with no output schema and no annotations, the description is incomplete. It does not specify what the agent should expect as a result (file path, binary content, URL) or how this tool fits into the flow with sibling generation tools (e.g., used after flow_generate_image).
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 has zero parameters, so the description need not elaborate on parameter meaning. The description implicitly communicates that no user input is required, aligning with the baseline for a parameterless tool.
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 'Download' and a clear resource 'the most recently generated file from Google Flow.' It distinguishes itself from sibling tools (e.g., flow_generate_image, flow_connect) by being the only download-focused 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?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or typical usage contexts. The description simply states the action without explaining when it is appropriate or what conditions must exist (e.g., a file must have been generated first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_generate_imageA
β οΈ CES IMAGES CONSOMMENT DES CRΓDITS. Par dΓ©faut (auto_confirm=false): remplit le prompt, sΓ©lectionne le modΓ¨le/ratio, prend un screenshot et retourne "ready_for_confirmation". NE clique PAS sur Generate. Quand auto_confirm=true: vΓ©rifie d'abord que l'interface est bien en mode IMAGE (pas VidΓ©o), que le modΓ¨le est un modΓ¨le image, prend un screenshot de vΓ©rification, PUIS clique Generate, attend les images et les tΓ©lΓ©charge. NAN/BANANA modΓ¨les image seulement.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Brand context for automatic model selection: premium, standard. | |
| model | No | Model to use: Nano Banana Pro, Nano Banana 2, or Imagen 4. | Nano Banana 2 |
| ratio | No | Aspect ratio: 1:1, 16:9, 9:16, 4:3, 3:4. | 1:1 |
| prompt | Yes | The text prompt for image generation. | |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| auto_confirm | No | β οΈ CRΓDITS. Si false (dΓ©faut): prΓ©pare seulement, ne consomme rien. Si true: vΓ©rifie que le mode Image est actif, PUIS clique Generate (consomme des crΓ©dits). | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). | |
| reference_images | No | Paths to reference images (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that default behavior does not click Generate, returns 'ready_for_confirmation', consumes credits only on auto_confirm=true, performs mode/model checks, takes verification screenshots, and awaits/downloads results. This is exemplary behavioral transparency.
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 verbose paragraph but front-loads the critical credit warning and structures the default vs confirm flow clearly. Every sentence carries behavioral information, though the repeated credit warning in schema could make the description slightly redundant.
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?
Given the tool's complexity (8 params, no annotations, no output schema), the description covers the full workflow: preparation, verification, generation, and download. It states the return value 'ready_for_confirmation' and the credit-consumption trigger, making it complete for an agent to invoke safely.
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?
All 8 parameters have schema descriptions (100% coverage), so baseline is 3. The description adds the credit warning and verification behavior that maps to auto_confirm, and clarifies model compatibility (image models only). However, much of the auto_confirm detail duplicates the schema's own warning, so added value is moderate.
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 states this tool generates images, with specific details on the auto_confirm parameter controlling preparation vs actual generation. It differentiates from video generation by referencing 'mode IMAGE (pas VidΓ©o)' and limits to NAN/BANANA image models, making it distinct from sibling 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 explicit guidance on when to use auto_confirm=false (preparation, no credits) vs true (actual generation after verification). It warns about credit consumption and instructs that the interface must be in Image mode, not Video, effectively directing users away from using this for video. No alternative tool is named, but the video mode exclusion serves as a clear constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_generate_videoA
Set up a video generation in Google Flow. Fills prompt, selects Omni Flash or Veo model, configures settings. NOTE: Does NOT click final Generate (paid feature β stops at ready-to-generate).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model: Omni Flash, Veo 2, Nano Banana 2. | Omni Flash |
| ratio | No | Aspect ratio: 16:9, 9:16, 1:1. | 16:9 |
| prompt | Yes | The text prompt for video generation. | |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| duration | No | Target duration in seconds. | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). | |
| reference_images | No | Paths to reference images (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and explicitly discloses a key behavioral trait: it does NOT click the final Generate button, stopping at ready-to-generate. This is a non-obvious limitation that prevents misuse, making the description highly transparent.
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 two sentences long, front-loaded with the main purpose in the first sentence and the crucial caveat in the second. Every sentence earns its place with no 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?
The description covers the core function and a critical limitation, and the schema fully documents parameters. It could optionally mention prerequisites like being connected to Google Flow (sibling tools include flow_connect), but overall it is adequately complete for a setup 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 provides 100% coverage for all 7 parameters, so the description's additional mention of 'Omni Flash or Veo model' aligns with the schema but adds minimal meaning beyond it. The description does not elaborate on other parameters like campaign or reference_images, but the schema already documents them, so baseline 3 is appropriate.
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 states the tool's purpose: 'Set up a video generation in Google Flow.' It specifies the actions (fills prompt, selects model, configures settings) and distinguishes it from related tools like flow_generate_image by focusing on video setup.
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 gives clear context for when to use this tool (to set up a video generation) and implies it is a preparatory step without triggering the final generation. However, it does not explicitly mention alternatives or exclusions relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_import_characterB
Import a character from a saved JSON file into Google Flow.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Path to character JSON file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only states the operation. It does not mention side effects (e.g., overwriting an existing character), validation behavior, error outcomes, or any permissions required, leaving significant behavioral gaps.
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 concise sentence that clearly states the action and its target. There is no redundancy or wasted words, making it appropriately front-loaded and efficient.
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?
The tool is simple with one parameter and no output schema, but the description does not explain what happens after import (e.g., whether a character is created or replaced, or how to confirm success). There are clear gaps in the expected outcome, so the description is merely adequate.
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 covers 100% of the parameter (file_path) with a description 'Path to character JSON file.' The tool description reiterates 'saved JSON file' but adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
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 'Import' with a clear resource ('character'), source ('saved JSON file'), and destination ('Google Flow'). This clearly distinguishes it from sibling tools like flow_create_character, which creates a new character from scratch.
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 no guidance on when to use this tool versus alternatives such as flow_create_character. It does not mention prerequisites, intended scenarios, or exclusions, leaving the agent without explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_open_charactersA
Open the Google Flow Characters page and list existing characters.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool opens a page and lists characters, implying a read-only action, but it does not explicitly confirm it is read-only, mention any limitations, or describe what exactly 'list' returns (e.g., a formatted list, a visual UI, or a status message).
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 sentence that is precise and immediately states the primary actions and target resource. Every word earns its place, with no redundant or filler content, making it both concise and 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 simple tool with no parameters and no output schema, the description is moderately complete. It conveys the main purpose ('open page' and 'list characters') but leaves ambiguity about the exact output format or how the agent receives the character list. Given the absence of an output schema, a slightly more explicit description would improve completeness.
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 has zero parameters, and the schema confirms this. The description adds no parameter-specific information, but with no parameters to describe, the baseline of 4 applies. The description's mention of 'listing existing characters' gives context to what the tool does without needing parameter details.
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 states the tool opens the Google Flow Characters page and lists existing characters. It uses specific verbs ('open', 'list') and a resource ('Google Flow Characters page'), effectively distinguishing it from sibling tools like flow_create_character and flow_import_character.
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 implies the tool is used for viewing existing characters, but it does not explicitly state when to use it over alternatives or mention any prerequisites. There is no direct comparison with sibling tools such as flow_create_character or flow_import_character, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_open_tools_galleryA
Open the Google Flow Tools Gallery and list available tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does (opens a gallery and lists tools) but does not disclose any side effects, permissions required, or whether it returns data in the response. For a simple tool this might be acceptable, but the lack of explicit behavioral context is a gap.
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, compact sentence with no wasted words. It front-loads the action and resource clearly, making it immediately understandable.
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?
Given the tool's simplicity (no parameters, no output schema, minimal annotations), the description covers the essential purpose. However, it leaves slight ambiguity about whether 'list available tools' means returning a list in the response or opening a UI gallery. This prevents a perfect score.
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 accepts zero parameters, so the schema coverage is trivially 100%. The baseline for 0 parameters is 4, and the description adds no confusion about parameters. Since there are no parameters to clarify, the description does not need to provide additional semantics.
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 states the tool opens the Google Flow Tools Gallery and lists available tools. This is a specific verb+resource combination that distinguishes it from sibling tools like flow_download_latest or flow_create_scene.
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 implies usage for discovering available tools, but does not explicitly state when to use this tool versus alternatives or mention any prerequisites. There are no exclusions or comparisons with siblings, so it relies on the name and context to convey intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_queue_statusA
Check the job queue: active job, pending queue, completed and failed job history.
| Name | Required | Description | Default |
|---|---|---|---|
| history_limit | No | Number of recent history entries to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It clearly indicates a read-only operation ('Check') and lists the information returned, but it does not disclose any potential side effects, authentication requirements, or details about how history_limit affects results. It is minimally transparent but not deeply descriptive.
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 concise sentence that front-loads the primary action and enumerates the specific aspects of the queue. There is no wasted information; every word earns its place.
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 tool with one optional parameter and no output schema, the description adequately captures the main functionality. It names all categories of queue status without needing to explain return values extensively. The only minor gap is not explicitly stating that history_limit controls the number of history entries, but that is already in 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?
The input schema provides 100% coverage for the only parameter (history_limit) with a clear description. The tool description does not add additional meaning beyond the schema, but since schema coverage is high, the baseline of 3 is appropriate.
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 ('Check') and resource ('job queue'), and enumerates the exact information covered (active job, pending queue, completed and failed job history). This clearly distinguishes it from sibling tools like flow_status, which likely covers broader status, and other flow_* tools.
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?
There is no explicit guidance on when to use this tool versus alternatives such as flow_status. The description implies that it is for checking queue information, but it does not state exclusions or mention alternative tools, leaving the agent without clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_screenshotB
Take a screenshot of the current Google Flow page.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Custom name for the screenshot file. | manual |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral details. It only states the action without mentioning where the screenshot is saved, whether it returns a file path, authentication requirements, or any side effects, leaving significant ambiguity for an agent.
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 sentence with no filler, immediately conveying the tool's action. It is appropriately concise and front-loaded, making it easy for an agent to parse.
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?
Given the tool's simplicity (one optional param, no output schema, no annotations), the description is minimally adequate but incomplete. It fails to explain what happens after the screenshot is taken (e.g., file location, return value), leaving the agent without enough context to predict the tool's full behavior.
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 single optional parameter 'name' is fully described in the input schema (100% coverage), so the baseline is 3. The description adds no additional semantic detail about the parameter, but the schema already provides sufficient information.
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 states a specific action ('Take a screenshot') on a specific resource ('the current Google Flow page'), making its purpose unambiguous. This distinguishes it from sibling tools like flow_download_latest or flow_create_scene, which serve different actions.
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 does not provide explicit guidance on when to use this tool versus alternatives. However, the intended use is implied by the action itself β taking a screenshot when a visual capture is needed β but no exclusions or alternative comparisons are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_statusB
Check current connection status: browser connected, Flow page loaded, account verified, job queue state.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return full status with screenshot. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It transparently lists the exact status dimensions checked (browser, page, account, queue), which is useful. However, it doesn't disclose whether this is a read-only operation, how the response is structured, or whether it performs live checks or returns cached state.
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 sentence of 12 words, front-loaded with the primary action and resource. Every word adds value, with no redundancy or filler.
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 simplistic status-check tool with one fully described parameter, the description covers core purpose and scope. However, without an output schema or annotations, it omits details about return format, potential latency, and any safety characteristics, leaving the agent uncertain about how to interpret the result.
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 schema description fully documents the 'full' parameter ('Return full status with screenshot'), achieving 100% coverage. The tool description adds no parameter-specific context, so the baseline score of 3 applies.
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 the specific verb 'Check' and clearly enumerates the status components (browser connected, Flow page loaded, account verified, job queue state). It implies a broader scope than individual siblings like flow_account_check or flow_queue_status but does not explicitly name them for differentiation.
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?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention that flow_queue_status should be used for queue-only details or flow_connect for establishing a connection. The agent is left without explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_use_grid_architectA
Open Grid Architect in Google Flow, fill theme prompt, shot prompts, engine, ratio, and visual logic settings. Supports batch shot generation for brand campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
| ratio | No | Aspect ratio for all shots. | 16:9 |
| engine | No | Engine/model for the grid. | Nano Banana 2 |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| references | No | Paths to reference images. | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). | |
| shot_prompts | No | Array of individual shot prompts for the grid. | |
| theme_prompt | Yes | Overall theme prompt for the grid. | |
| visual_logic | No | Visual logic type: None, Colour Pop, Side by Side, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool opens a UI screen and fills settings, and mentions batch generation behavior, but it does not disclose prerequisites (e.g., needing an active Google Flow session), side effects like project creation/reuse, or what the output will be. This is more transparent than a minimal description but still lacks depth.
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 two sentences, front-loaded with the main action and settings, with no fluff. Every sentence conveys essential information, and it is appropriately sized for the tool's complexity.
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?
Given the tool has 8 parameters, no output schema, and no annotations, the description provides an adequate overview but omits details on expected return values, prerequisites, and project handling behavior. The schema covers parameter details, but the description could be more complete about invocation context and outcomes.
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 100%, so the baseline is 3. The description lists several parameter names and adds context for batch generation and campaigns, but it does not add substantial meaning beyond the schema's parameter descriptions, which are already detailed.
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 states the tool opens Grid Architect in Google Flow and fills specific settings (theme prompt, shot prompts, engine, ratio, visual logic), with support for batch shot generation. It distinguishes itself from sibling tools like flow_generate_image by focusing on batch grid generation for brand campaigns.
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 phrase 'Supports batch shot generation for brand campaigns' provides clear context for when to use this tool (batch/brand campaigns). It does not explicitly state alternatives or when-not to use, but the batch context differentiates it from single-generation siblings like flow_generate_image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flow_use_toolA
Open any tool by name in Google Flow and optionally fill its configuration parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Optional configuration parameters for the tool. | |
| campaign | No | Campaign identifier for project matching (e.g., "ete-2026", "nouvelle-collection"). | |
| tool_name | Yes | Name of the tool to open (e.g. Grid Architect, Image Generation). | |
| project_name | No | Name for the project (will reuse existing project with same campaign, or create new). |
TDQS
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 opens a tool and optionally fills parameters, but it does not mention potential side effects like creating projects (suggested by project_name/campaign params) or whether it navigates the UI. This is minimal behavioral disclosure for a tool with state-changing potential.
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, clear sentence with no wasted words. It earns its place by succinctly conveying the tool's core purpose.
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?
The tool has 4 parameters and no output schema. While the description is concise, it doesn't explain the behavior of opening a tool in terms of project management (campaign/project_name) or what happens after opening. Considering the presence of sibling tools and the generic nature of this tool, more context would improve completeness.
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 100%, and the description mentions 'optionally fill its configuration parameters' which aligns with the params field. However, it adds no additional meaning beyond what the schema already provides, so the baseline 3 is appropriate.
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 states the verb ('Open') and resource ('any tool by name in Google Flow'), which distinguishes it from sibling tools that target specific tools like flow_use_grid_architect. It effectively communicates the generic, tool-agnostic scope.
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 implies a generic use case ('any tool by name') but does not explicitly state when to choose this tool over specific sibling tools. No exclusions or alternative recommendations are provided, leaving usage guidance implied rather than explicit.
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. Dates show when Glama detected each change.
17 tool updates
v1.1.0- First observed
flow_account_check - First observed
flow_connect - First observed
flow_create_character - First observed
flow_create_scene - First observed
flow_disconnect - First observed
flow_discover_ui - First observed
flow_download_latest - First observed
flow_generate_image - First observed
flow_generate_video - First observed
flow_import_character - First observed
flow_open_characters - First observed
flow_open_tools_gallery - First observed
flow_queue_status - First observed
flow_screenshot - First observed
flow_status - First observed
flow_use_grid_architect - First observed
flow_use_tool
TDQS
Scored across 17 tools
Most tools have clearly distinct purposes, such as connection management, generation, and character/scene creation. Minor overlap exists between flow_status and flow_account_check, and flow_use_tool may overlap with specialized tool openers, but descriptions are sufficient to disambiguate.
All tools share the flow_ prefix, but verb styles vary: some use verb_noun (generate_image, create_scene), others are bare verbs (connect, disconnect), and others are noun-first (status, queue_status, account_check). This mixed pattern reduces consistency.
At 17 tools, the count is slightly above the ideal 3-15 range but justified by the breadth of features (connection, generation, characters, gallery, UI automation). The set is not bloated, but a few could be consolidated.
The toolset covers major workflows: connect, generate, create characters/scenes, manage queue, and download. However, there are no update/delete operations for characters or scenes, no scene listing, and no way to list all generated files, leaving some lifecycle gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Google Veo AI video generation
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Qwen Image 3 AI image generation
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for generating images and videos using Google Gemini and VEO models, with support for multiple AI models and credential modes.1Apache 2.0
- AlicenseAqualityBmaintenanceMCP server for generating images via Google Flow's API without daily quota limits, supporting text-to-image and image-to-image generation.11MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI agents to control a local ComfyUI instance for image generation, allowing workflow understanding, parameter modification, execution, and model discovery.233Apache 2.0
- FlicenseBqualityCmaintenanceSelf-hosted MCP server for Google Flow that enables image and video generation, upscaling, and character consistency through your own Google account.22-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MinaSalib216/google-flow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server