Skip to main content
Glama

Grade a Clip in the Edit

lab_grade_clip
Idempotent

Set the colour grade of ONE clip in the edit (Murnau), or of the whole programme with programm: true. It is the same grade a colourist sets in Murnau's colour workspace, and the export uses it: Murnau bakes the export LUTs when you set it. Only the fields you send change (zuruecksetzen: true starts from neutral). Fields and ranges, as the sliders: exposure in stops (−5..5); contrast, saturation, temperature, tint −100..100; hue −180..180; lift/gamma/gain/offset as {x, y, master}, each −1..1 (x/y move the colour wheel); log as {shadow|midtone|highlight: {x, y, master}} — the Log wheels in ACEScct, each acting only on its range of brightness (shadows below ~4 % linear, highlights above ~50 %), master ±1 ≈ ±2 stops there; schritte as a list (≤ 8) of further grades with the same fields (plus name), applied in series after this grade — serial nodes; creative and sek stay on the grade itself; hdr as {dark|shadow|light|highlight: {x, y, master}} — HDR zone wheels centred −3/−1/+1/+3 stops around 18 % grey, master ±1 ≈ ±1.5 stops; curves as {master|r|g|b: [[x,y],…]} 0..1; boost, shadows, highlights −100..100; intensity 0..100 (0 = original). Per clip also sek — a secondary correction: {qualifier: {hueCenter, hueWidth, satLow, satHigh, lumLow, lumHigh, softness, invert}, fenster: [{form: kreis|rechteck|verlauf|polygon|bezier, cx, cy, rx, ry, winkel, weich, invert, modus: add|sub, punkte (polygon/bezier only: 3–16 resp. 3–12 [x, y] in the window's own unit space, scaled by rx/ry and turned by winkel — bezier draws a smooth closed curve through them)}], grade: {saturation, exposure, temperature, tint, hue, schutz}} — schutz 0..100 takes the clip's and the programme's grade back inside the selection (100 = ungraded there, e.g. to protect skin); sek: null removes it. Any level also takes warper — the Color Warper: {huesat|chromalum: {res: 6|12|24, punkte: [[i, j, dx, dy], …]}}; node (row i, column j) sits at (j/res, i/res) and is moved by (dx, dy) in −1..1. huesat plane: x = 0.5 + 0.5·sat·cos(hue), y = 0.5 + 0.5·sat·sin(hue) (lightness kept); chromalum plane: x = sat, y = 1 − lightness (hue kept). Only moved nodes; warper: null removes it. Call WITHOUT grade to list the clips (clip_id, start/end, current grade, input profile) and the programme grade. Measure first and after with lab_scopes — its vorschlag.grade is a computed correction you can pass here as grade. Writes state, costs nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gradeNoFields to set — see description; omit to list clips and grades
seq_idYesSequence id — positive integer as string (lab_list_sequences)
clip_idNoThe clip to grade (from the listing); omit with programm:true
programmNoGrade the whole programme instead of one clip
zuruecksetzenNoStart from a neutral grade before applying `grade`

Schema Changelog

Changes observed during successful MCP inspections.

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

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false): 'Only the fields you send change,' 'zuruecksetzen: true starts from neutral,' 'sek: null removes it,' 'warper: null removes it,' and 'Murnau bakes the export LUTs when you set it.' It also discloses side effects ('Writes state, costs nothing'), giving a rich behavioral picture consistent with the annotations.

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 core action and the list/grade distinction before the parameter dump. The middle is a dense, semicolon-chained reference, but nearly every clause encodes semantics the schema does not provide, so most of it earns its place. Readability suffers slightly from the run-on formatting.

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?

No output schema exists, so the description correctly describes the listing return ('clip_id, start/end, current grade, input profile') and the programme grade. For a deeply nested mutation tool with 5 parameters, it covers the fields, their interactions (serial schritte, secondary schutz), and the reset/remove semantics that an agent needs to call it correctly.

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?

Although schema description coverage is nominally 100%, the schema itself is a thin container with additionalProperties, so the description carries the real semantics. It supplies units and ranges for every field (exposure in stops ±5, hue ±180, lift/gamma/gain {x,y,master} ±1), log-wheel behavior, curve encoding, secondary/warper coordinate systems, and null semantics — far beyond anything in the 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: 'Set the colour grade of ONE clip in the edit ... or of the whole programme with programm: true.' The scope distinction (clip vs programme) and the dual list/grade mode are explicit, so an agent knows what it does. It does not name or differentiate itself from the sibling grading tools (lab_grade, lab_grade_from_resolve, lab_grade_suggest), keeping it short of a 5.

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?

Gives clear workflow context: 'Measure first and after with lab_scopes — its vorschlag.grade is a computed correction you can pass here as grade,' and 'Call WITHOUT grade to list the clips.' This tells the agent when to invoke it and how to obtain inputs. It does not explicitly scope itself against the other lab_grade* siblings, so not a full 5.

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