google-flow-mcp
Google Flow MCP (V2 Controller)
Self-hosted Model Context Protocol (MCP) server for Google Flow (labs.google/fx/tools/flow), refactored into a lean controller for book and story asset generation pipelines.
Authenticate with your own Google account to generate character candidates, props, places, scenes, and video clips—saving all outputs directly to your local file system or external drive (/Volumes/Xstorage/...).
Production Workflow Architecture
This MCP operates strictly as a controller for Google Flow asset creation:
Approved dossier
→ create book project
→ Storyboard Studio
→ characters / places / props / scenes
→ download candidates
→ approve stills
→ Veo / Omni animation
→ download clips
→ MiniMax
→ Remotion / CapCutThis MCP server is a thin Google Flow controller layer. It doesNOT handle full dossier truth systems, final trailer scripting strategy, MiniMax orchestration, Remotion assembly, CapCut rendering, or video publishing. Those operations belong outside this repository in the primary Immerse pipeline.
Key Principles & Scope
🎯 Google Flow Controller: Pure control layer for authenticating, listing/creating projects, executing Storyboard Studio/custom tools, generating media, and downloading assets locally.
🔒 Spend Guard & Budget Safety: Video generation tools (
generate_videoandgenerate_video_from_image) strictly requireconfirm_spend: trueto prevent accidental credit consumption. Supportsmax_creditsandmax_generationslimits.📂 Local Storage Integration: Auto-scaffolds clean book folder structures (
/characters,/props,/places,/scenes,/clips) on local or external drives.🤝 Pipeline Handoff: Decoupled from final trailer editing or assembly. Assets are saved cleanly for handoff to external tools (MiniMax, Remotion, CapCut).
🔐 Isolated Auth & Safety: Session credentials are kept strictly isolated and stored locally with restricted
0600file permissions.
Installation & Setup
1. Build Server
git clone https://github.com/LeoSzn12/google-flow-mcp.git
cd google-flow-mcp
npm install
npm run build2. Environment Configuration
Copy .env.example to .env:
cp .env.example .envSet your session credentials and local output root:
GOOGLE_COOKIES="your_google_cookies_string"
LOCAL_STORAGE_ROOT="/Volumes/Xstorage/Media"Available MCP Tools (V2)
Core Control Tools (14)
Tool Name | Description | Key Parameters |
| Check authentication state & account details |
|
| Save Google auth cookies or tokens |
|
| List Google Flow projects on your account | - |
| Create a new Google Flow project |
|
| List custom tools in a project |
|
| Execute custom tool or Storyboard tool |
|
| Generate image via NARWHAL / Nano Banana |
|
| Batch generate image candidates |
|
| Text-to-video via Veo 3.1 (Spend Guard) |
|
| Image-to-video keyframe animation (Spend Guard) |
|
| Query status of async generation jobs |
|
| Save generated media URL or ID to local disk |
|
| List all generated media items in session memory | - |
| Get details for a specific media item |
|
Thin Helper Tools (2)
Tool Name | Description | Key Parameters |
| Scaffold local book folder structure on disk |
|
| Execute Storyboard Studio with dossier input |
|
Integration Guides
Claude Code / Codex
claude mcp add --transport stdio google-flow -- node /absolute/path/to/google-flow-mcp/dist/index.jsCursor / Windsurf / Cline (mcpServers)
Add to ~/.cursor/mcp.json or .vscode/mcp.json:
{
"mcpServers": {
"google-flow": {
"command": "node",
"args": ["/absolute/path/to/google-flow-mcp/dist/index.js"],
"env": {
"GOOGLE_COOKIES": "your_google_cookies_string_here",
"LOCAL_STORAGE_ROOT": "/Volumes/Xstorage/Media"
}
}
}
}Happy Path Example Workflow (The Odyssey)
Here is how to run a complete asset pipeline workflow for an example book (The Odyssey):
1. Create a Book Project & Local Storage Folders
Call create_book_project:
{
"book_title": "The Odyssey",
"local_storage_root": "/Volumes/Xstorage/Media"
}Creates /Volumes/Xstorage/Media/the-odyssey/ with subfolders: characters/, props/, places/, scenes/, clips/.
2. Run Storyboard Studio with an Approved Dossier
Call run_storyboard_studio_from_dossier:
{
"book_title": "The Odyssey",
"dossier_text": "Odysseus: Weathered ancient Greek king and mariner, dark curly hair, bearded, wearing bronze-trimmed linen tunic, standing on rocky shore looking out at Aegean Sea.",
"asset_types": ["characters", "places", "scenes"],
"output_folder": "/Volumes/Xstorage/Media"
}Generates visual candidates and downloads stills directly into local project subfolders.
3. Animate Approved Keyframes into Video Clips
Call generate_video_from_image with explicit spend authorization:
{
"prompt": "Slow panning shot across Aegean sea waves crashing on rocky cliffs behind Odysseus",
"start_image_url": "/Volumes/Xstorage/Media/the-odyssey/characters/odysseus_still.png",
"confirm_spend": true,
"max_credits": 20,
"max_generations": 1,
"output_folder": "/Volumes/Xstorage/Media/the-odyssey/clips"
}Renders video using Google Veo 3.1 and saves flow_video_<timestamp>.mp4 to /clips.
4. Immerse Production Handoff
Hand off downloaded .png stills and .mp4 video clips to external assembly tools (MiniMax, Remotion, CapCut).
License
MIT
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/LeoSzn12/google-flow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server