Skip to main content
Glama

apply_effect

Add a video or audio effect to one or more timeline clips, then optionally set effect parameters to control the result.

Instructions

Add a video or audio effect to clips and optionally set its parameters (search ids with list_commands 'effects' or run_command effects.list).

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": {
      "clips": "<clips>",
      "effect": "<effect>"
    },
    "name": "apply_effect"
  }
}

Input Schema

NameRequiredDescriptionDefault
clipsYes
effectYesEffect id, e.g. "lumetri", "vr_denoise", "gaussian_blur", "track_matte"
paramsNoParameter values, e.g. {"amount": 45}
projectNoPath to the .fcproj project file; omit to edit the FilmCraft app connected with connect_app

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations only declare readOnlyHint=false and openWorldHint=false, so the agent knows this is a local mutation but nothing more. The description does not disclose whether the effect is appended to an existing effect stack or replaces one, whether unknown effect ids fail or are silently ignored, or whether the operation is idempotent across multiple clips — all material for a mutation tool.

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 sentence with the core action front-loaded and the id-discovery hint attached as a subordinate clause. No filler, no repetition of schema content beyond what aids discovery.

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 mutation tool with a nested free-form params object and no output schema, the definition covers the action and id discovery but leaves the return value unclear (e.g. whether applied effect handles are returned) and does not clarify the division of labor with set_effect_param. Adequate but with visible gaps.

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%, so most parameters are already documented, including clip ids, effect examples, and the project path. The description's added value is the discovery pointer for effect ids, but it says nothing about how the free-form 'params' object keys map to effect-specific parameters or what happens with invalid keys.

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 and resource ('Add a video or audio effect to clips') plus the secondary capability of setting parameters at the same time. It is clearly distinct from siblings like add_transition, add_text, and set_effect_param, though it does not explicitly say how it differs from set_effect_param when params are supplied.

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 parenthetical tells the agent how to discover valid effect ids ('list_commands effects' or 'run_command effects.list'), which is genuinely actionable. However, it gives no guidance on when to use this tool versus set_effect_param for changing parameters later, nor on prerequisites such as an active app connection or project state.

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