Skip to main content
Glama

Quote Flow (Pipeline)

lab_flow_angebot

Use when the person wants a saved flow, pipeline or multi-step workflow priced, costed, calculated or checked against the balance BEFORE anything runs. Price a whole Flow (Pipeline) before running it: one quote over every node, checked against the credit balance and the project's cost cap. workflow is a FilmOS workflow in schema v1 (vault/workflows/_schema.md): nodes of type lab.tool call FilmLab tools by name, {{node_id.field}} passes one node's result into the next, parallel and condition are supported, foreach and workflow.invoke not yet. Every node whose tool costs money is priced with that tool's own get_cost preflight; a paid tool without a preflight, or a price that cannot be determined, rejects the whole quote by name — nothing is estimated. Nothing is generated and nothing is charged. Returns angebot_id (valid 24 h, for exactly this workflow, these inputs and this project), the total, one line per node, the balance and what the cap still allows. A node whose price only exists once its input exists (lab_upscale fed by a clip from another node) is listed with preis_folgt: true and is NOT in the total: the run stops before it, names the exact price and continues only after lab_flow_fortsetzen — tell the person so when you name the total.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputsNoValues for the workflow's `inputs`, referenced as {{name}}
workflowYesThe Flow (Pipeline) as a FilmOS workflow object, schema_version "1"
project_idYesProject id (from lab_list_projects) — every node runs in this project

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Goes well past the annotations: discloses that nothing is generated or charged, that a paid tool lacking a preflight or an undeterminable price rejects the entire quote by name, that nothing is ever estimated, and that angebot_id is valid 24h and bound to this exact workflow/inputs/project. readOnlyHint=false is consistent with creating a persisted quote record, so there is no contradiction.

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?

Front-loaded with the usage trigger and the core promise, and almost every sentence carries substantive constraints. The final sentence about `preis_folgt` is a long run-on that buries the operator instruction, costing some readability.

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

Completeness5/5

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

With no output schema, the description fully covers the return contract: angebot_id, the total, one line per node, the balance and remaining cap allowance. It also covers the tricky partial case (`preis_folgt: true`, excluded from the total) and what to tell the user, so an agent can call it and report results without further sources.

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 coverage is 100%, yet the description adds real meaning for the nested `workflow` object: schema v1 semantics, `lab.tool` nodes calling FilmLab tools by name, `{{node_id.field}}` data passing, supported `parallel`/`condition`, and unsupported `foreach`/`workflow.invoke`. That is exactly the information needed to build a valid workflow argument, which the schema does not convey.

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

Purpose5/5

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

States a precise verb+resource: price/quote a whole Flow (Pipeline) before it runs, with an explicit scope (every node, checked against balance and cost cap). It is clearly distinguishable from siblings like lab_flow_starten, lab_flow_fortsetzen and lab_flow_status, and it explicitly declares the negative (nothing generated, nothing charged).

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

Usage Guidelines4/5

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

Opens with an explicit trigger ('Use when the person wants a saved flow... priced... BEFORE anything runs'), which cleanly separates it from the execution tools. It also names the hand-off for the deferred-price case (lab_flow_fortsetzen), but never explicitly contrasts with lab_flow_starten as the 'actually run it' alternative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources