Skip to main content
Glama

flow_ingredient_save

Save reusable characters, objects, locations, or styles in a project, then use @name in prompts to auto-attach reference images and descriptions for consistent results.

Instructions

Save a reusable ingredient (character, object, location or style) in the project.

Afterwards write @name in any prompt (image, video, storyboard shot) and its reference images and description are attached automatically, which keeps the look consistent.

Args: name: Short handle, e.g. 'mira'. Used as @mira. description: What must stay the same (face, hair, clothes, colors, materials...). kind: 'character', 'object', 'location' or 'style'. image_paths: 1-3 existing reference images (copied into the project). generate: If true and no images are given, generate a reference sheet from the description. model: Image model for generate ('fast' default, 'pro' for more detail). project_name: Project to use (default: active project).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "description": "<description>"
    },
    "name": "flow_ingredient_save"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNocharacter
nameYes
modelNo
generateNo
descriptionYes
image_pathsNo
project_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that image paths are copied into the project and that 'generate' creates a reference sheet from the description, plus the fast/pro model tradeoff. It does not say what happens when saving a name that already exists (overwrite vs. error), whether that is reversible, or what the call returns — significant gaps for an unannotated mutation.

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

Conciseness4/5

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

A one-line purpose statement followed by the workflow rationale, then a compact Args block — well front-loaded and free of filler. The Args section is a docstring-style repeat of parameter names but each line adds real content, so nothing is wasted.

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

Completeness4/5

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

For a seven-parameter mutation with no output schema and no annotations, the definition covers inputs and the post-save usage pattern thoroughly. The remaining hole is outcome semantics — overwrite behavior on duplicate names and what the tool returns on success — which an agent would need to call it confidently.

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

Parameters5/5

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

Schema description coverage is 0%, so all meaning comes from the description, and it documents every one of the seven parameters: name's @handle usage, what description must capture, the four valid kind values (not declared as an enum in the schema), the 1-3 image limit and copy behavior, the conditional generate flag, the model options with defaults, and the active-project default. This is meaningful compensation well beyond the bare schema.

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

Purpose4/5

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

States a specific verb and resource ('Save a reusable ingredient') and enumerates the four kinds it can hold, which clearly separates it from the generation siblings. It does not explicitly name a contrasting sibling, but the 'reusable reference' concept is unambiguous.

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

Usage Guidelines3/5

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

The description explains the downstream workflow well ('write @name in any prompt ... reference images and description are attached automatically'), which implies when to reach for this tool. However, it gives no explicit when-not guidance or prerequisites, and it doesn't route the agent to any alternative when an ingredient already exists.

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