io.github.ethanhamilthon/yenflow
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gflow_generate_imageA | Generate an image using Google Flow's Imagen model. Produces 1-4 images from a text prompt. Models: nano2 (fast), nano-pro (balanced), image4 (highest quality). Aspects: 1:1, 9:16, 16:9, 4:3, 3:4. The prompt supports @AssetName mentions to tag saved project characters/assets by name (resolves to referenceEntities/referenceImages). Reference a SAVED named asset via @Name; reference an arbitrary one-off image via reference_images. See docs/REFERENCE_STRATEGIES.md. On accounts served from flow.google.com, use an existing project and local reference files; UUID/entity references and image4 are not ported to that composer yet and fail before submit; retrying will not clear it. Returns local file paths to the generated images. |
| gflow_generate_videoA | Generate a video using Google Flow's Veo model. Modes: t2v (text-to-video), i2v (image-to-video), r2v (reference-to-video). Aspects: 9:16, 16:9. Optional model (veo_lite/veo_fast/veo_quality/omni_flash), duration (seconds), and count select the Veo model, clip length, and batch size (CLI parity). The prompt supports @CharacterName mentions to tag saved project characters by name (resolves to referenceEntities). Reference a SAVED character via @Name; pass one-off ingredient images via reference_images. See docs/REFERENCE_STRATEGIES.md. Optional ui_mode ('classic'/'auto') verifies the classic editor pre-submit and aborts before spending credits if unreachable; 'agentic' is not supported for video. Returns the local file path to the generated video. |
| gflow_list_toolsA | List available gflow prompt tools (name, title, description, category). |
| gflow_get_creditsA | Read the current Google Flow credit balance for one saved profile or all profiles. This is read-only and spends no credits. Set all_profiles=true when choosing an account for generation; partial profile failures remain visible in the result. |
| gflow_character_listA | List the saved Flow CHARACTER entities in a project, with their entity ids. Read-only and spends no credits. Call this to discover what you can attach: an id goes to reference_entities on the generate tools, and a display_name can be used as an @Name mention in a prompt (same wire, they dedupe). Drives a browser session, so it is slower than the catalog tools. |
| gflow_character_voicesA | List the preset voices available for a Flow Character's TTS. Static lookup — no network, no browser, no cost. Call it before creating a character to choose a valid voice name. |
| gflow_character_showA | Show one saved Flow CHARACTER entity by id or by exact display name. Read-only and spends no credits. Exactly one of entity_id or name is required; an ambiguous name is an error rather than a guess, which is the reason to prefer the id. Drives a browser session. |
| gflow_list_projectsA | List all projects in the local gflow catalog. Returns project IDs, names, and creation dates from the SQLite database. |
| gflow_auth_statusA | Non-interactive, credit-free Flow session probe (#497). Call this BEFORE a generation tool to fail fast on expired auth — the queue is async, so an auth failure otherwise surfaces only later from the daemon. Never starts an interactive login flow; may boot a short-lived headless browser only if cookie decryption requires the Playwright fallback. May take up to ~45s on a slow network. |
| gflow_instructions_listB | List a Flow project's persistent Agent-Mode instruction cards (reads the live server brief). Credits-free. |
| gflow_instructions_addA | Add a persistent instruction card to a Flow project's Agent-Mode brief (credits-free). Each ref is classified automatically: local image path → uploaded as an image reference; asset UUID → image reference; anything else → character id/name. |
| gflow_instructions_set_enabledB | Enable or disable one instruction card on a Flow project's brief, selected by title or card id (exactly one). Credits-free. |
| gflow_instructions_rmB | Remove one instruction card from a Flow project's brief, selected by title or card id (exactly one). Credits-free. |
| gflow_instructions_toggle_modeA | Turn a Flow project's brief master switch on or off. When off, NO cards apply even if individually enabled. Cards are left untouched. Credits-free. |
| gflow_instructions_applyA | Declaratively FULL-SYNC a Flow project's brief: REPLACES all existing instruction cards with the given set (destructive — cards not listed are removed). Each card is {'title', 'text', 'ref': [...], 'enabled'}. Credits-free. |
| flow_plan_batchA | Plan an I2V video batch statelessly. Validates scenes and parameters, computes credit cost and deterministic SHA-256 plan hash, and returns the plan state to the MCP client. Zero server-side persistence. |
| yenflow_plan_batchD | Alias for flow_plan_batch. |
| flow_submit_sceneB | Submit a single video scene to Google Flow in silent background headless mode (zero window popups, no stolen focus). Returns media_id immediately to the client for tracking. |
| yenflow_submit_sceneD | Alias for flow_submit_scene. |
| flow_generate_sceneC | Generate a single video scene end-to-end in silent headless background mode. Returns the local path to the generated MP4 file upon completion. |
| yenflow_generate_sceneD | Alias for flow_generate_scene. |
| flow_poll_sceneA | Statelessly check Google Flow for the completion status of a video generation by media ID and project ID. |
| yenflow_poll_sceneD | Alias for flow_poll_scene. |
| flow_stitch_videoB | Stitch multiple MP4 video clip files together into a single unified video with optional audio track using ffmpeg. |
| yenflow_stitch_videoD | Alias for flow_stitch_video. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| expand_prompt | [DEPRECATED: use the creative-director tool] Build the 5-component prompt formula. This is a *prompt template* — it returns an instruction string for the calling client's own model to expand. It is superseded by the ``creative-director`` tool, which performs the rewrite server-side (calls Gemini directly), strips banned keywords, supports domain styles, and records provenance. Reach it via ``gflow_list_tools`` / the ``tools`` array param on the generation tools, or ``gflow tools run creative-director`` / ``--tool`` on the CLI. This template is retained for backward compatibility (some MCP clients surface prompts as user-pickable templates, a distinct UX from agent-invoked tools) and is slated for removal in a future major release. See docs/PROMPT_EXPANSION.md. Inputs: - subject: The primary subject of the generation. - action: Description of actions or motion (optional). - setting: Setting/location/background (optional). - camera: Camera angle, lens type, framing, movement (optional). - lighting: Light source, mood, color palette, atmosphere (optional). |
| create_character | Create a consistent character profile prompt structure for Google Flow character models. Inputs: - name: The name of the character. - gender: Gender profile of the character (default: neutral). - appearance: Appearance traits (hair, eyes, facial features) (optional). - clothing: Clothing style and colors (optional). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| MCP Agent Guide | Instructions for AI agents on how to use gflow-cli tools. Read this BEFORE making any tool calls. |
| Known Issues | Index of current known issues (titles + status). Read gflow://docs/known-issues/{slug} for one issue's full text. |
| Database Schema | SQLite database schema for gflow.db — operations catalog. |
TDQS
Scored across 25 tools
Several tools are exact aliases (yenflow_* for flow_*), creating duplicate entries that an agent must disambiguate. More importantly, gflow_generate_video, flow_generate_scene, and flow_submit_scene all cover video generation but with unclear boundaries, making misselection likely.
Names are mostly snake_case but mix three prefixes—gflow_, flow_, and yenflow_ aliases—without a clear rule. Verb usage is also uneven: 'rm' instead of 'remove', 'get_credits' vs 'list_*', and 'plan_batch'/'submit_scene'/'generate_scene' follow different patterns.
Twenty-five tool names is too many, and five are exact aliases, inflating the count to 25 while only representing about 20 distinct operations. The surface feels heavier than needed, especially with six instruction-card tools and three scene-generation variants.
The set covers a broad workflow: auth, credits, projects, characters, instruction cards, image/video generation, scene planning/submission/polling, and stitching. However, character creation/update/delete is absent despite character voice and listing tools, and batch planning has no accompanying batch submission tool, creating notable workflow gaps.