Skip to main content
Glama

Apply look

apply_look

Applies a coordinated visual treatment across captions, grading, texture and transitions, with optional explicitly selected music.

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>",
      "project_id": "<project_id>"
    },
    "name": "apply_look"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
musicNoExact identifier of the library track explicitly selected by the user. Omission leaves music unchanged.
project_idYesExplicit project identifier for this request. The connection's navigation pointer does not select the target.
transition_soundsNoOpt in to library sounds on a spaced few of the look's scene transitions — only when the user asked for transition sounds. Omit (default) to place none; false removes the look's earlier ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / music / description
      Previous value: -"Exact slug of the library track the user picked (ask_user offers them). Omit to leave music unchanged."New value: +"Exact identifier of the library track explicitly selected by the user. Omission leaves music unchanged."
    • changedInput schema / properties / project_id / description
      Previous value: -"Required immutable scope for this call. Copy the id from list_projects/open_project/project_state; the active-project pointer is never used to guess."New value: +"Explicit project identifier for this request. The connection's navigation pointer does not select the target."
  2. Changed1 schema field changed
    • changedInput schema / properties / music / description
      Previous value: -"'auto' = a CC0 library bed in the look's moods; or a mood (upbeat, chill, cinematic, corporate, dramatic, hiphop, ambient, inspiring); or an exact slug from list_music_library. Omit to leave music unchanged."New value: +"Exact slug of the library track the user picked (ask_user offers them). Omit to leave music unchanged."
  3. Changed1 schema field changed
    • addedInput schema / properties / transition_sounds
      Added value: +{
      +  "description": "Opt in to library sounds on a spaced few of the look's scene transitions — only when the user asked for transition sounds. Omit (default) to place none; false removes the look's earlier ones.",
      +  "type": "boolean"
      +}
  4. Changed2 schema fields changed
    • addedInput schema / properties / music
      Added value: +{
      +  "description": "'auto' = a CC0 library bed in the look's moods; or a mood (upbeat, chill, cinematic, corporate, dramatic, hiphop, ambient, inspiring); or an exact slug from list_music_library. Omit to leave music unchanged.",
      +  "type": "string"
      +}
    • changedInput schema / properties / name / enum
      Previous value: -[
      -  "cinematic",
      -  "clean",
      -  "hype",
      -  "luxury",
      -  "meme"
      -]New value: +[
      +  "cinematic",
      +  "cinematic_doc",
      +  "clean",
      +  "clean_minimal",
      +  "creator_punch",
      +  "editorial",
      +  "hype",
      +  "luxury",
      +  "meme",
      +  "mono_noir"
      +]
  5. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false and idempotent=false, so the safety bar is lowered. The description adds real blast-radius context by naming the four domains the look touches at once, but it never says whether an applied look replaces or stacks on existing captions/grade/transitions, nor how a second application behaves given idempotentHint=false.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the scope of the treatment comes first and the optional music clause comes last. Nothing is wasted or repeated from the annotations.

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

Completeness3/5

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

For a broad multi-domain mutation with a ten-value enum and no output schema, the definition is only minimally sufficient: it conveys scope but leaves look selection semantics, interaction with pre-existing edits, and expected result unaddressed. Annotations cover the safety profile, which keeps this from scoring lower.

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

Parameters3/5

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

Schema description coverage is 75% (music, project_id and transition_sounds are documented in-schema) and the description only echoes the music behaviour, adding no new meaning. The biggest gap is the required 'name' enum of ten looks, which is undocumented in both schema and description, so an agent has no idea what 'cinematic_doc' or 'creator_punch' actually produce.

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?

The description gives a specific verb plus the breadth of the resource: it applies a coordinated treatment spanning captions, grading, texture and transitions, which tells an agent this is a bundled look rather than a single-attribute setter. It never distinguishes itself from near-neighbours such as apply_recipe, apply_format_pack, set_color_grade or set_caption_style, so an agent cannot confidently pick between them from this text alone.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative, despite an obviously crowded sibling space (apply_recipe, apply_format_pack, set_intensity, set_caption_style). The only conditional phrasing covers music ('optional explicitly selected music'), which is a parameter note, not usage routing.

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.