Skip to main content
Glama

Apply effect

ae_apply_effect

Adds an effect to an After Effects layer by match or display name, sets optional parameters, and returns the effect's stack index and applied values.

Instructions

Apply an effect to a layer by match name (preferred, e.g. "ADBE Gaussian Blur 2", "ADBE Fill", "ADBE Glo2", "ADBE Drop Shadow") or display name, optionally setting parameters. Each call adds a new instance at the bottom of the layer's effect stack. Returns its index in the stack, its parameters and the values set; an unknown effect name fails with suggestions. Check parameter names first with ae_get_effect_params; change an applied effect with ae_set_effect_params, search installed effects with ae_list_available_effects (both via ae_call).

Input Schema

NameRequiredDescriptionDefault
compNoComposition: item id (number) or exact name. Omit (or "active") for the active/open composition.
nameNoName for the new effect instance (default: After Effects' name for it).
layerYesLayer: 1-based index (number) or exact layer name.
effectYesMatch name (e.g. "ADBE Gaussian Blur 2", works in every AE language) or display name ("Gaussian Blur").
paramsNoEffect parameters by display name or match name, e.g. {"Blurriness": 20, "Repeat Edge Pixels": true} or {"Color": "#ff0000"}.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.3
    • addedInput schema / properties / effect / description
      Added value: +"Match name (e.g. \"ADBE Gaussian Blur 2\", works in every AE language) or display name (\"Gaussian Blur\")."
    • changedInput schema / properties / name / description
      Previous value: -"Rename the effect instance."New value: +"Name for the new effect instance (default: After Effects' name for it)."
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly=false and idempotent=false, but the description adds substantive behavior: each call appends a NEW instance at the bottom of the stack, unknown names fail with suggestions, and the return payload (stack index, parameters, values set) is disclosed. That is exactly the non-idempotent side effect an agent needs to know before calling.

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 action and its preferred argument form, followed by side-effect behavior, return shape, and sibling routing. Dense but nearly every sentence earns its place; the final parenthetical '(both via ae_call)' is a minor aside that could be trimmed.

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, yet the description explains the return value (stack index, parameters, set values) and the failure mode (unknown name with suggestions). Combined with 100% schema coverage and full sibling routing, an agent has everything needed to invoke it correctly.

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 coverage is 100%, so all five parameters are already documented in the schema, including match-name vs display-name semantics. The description reinforces match-name preference with examples but adds no new syntax or constraints, and the optional `name` and `params` merging behavior is only briefly touched. Baseline 3 is appropriate.

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 specific verb+resource ('Apply an effect to a layer'), lists concrete match-name examples, and names the display-name alternative. An agent can distinguish it from ae_set_effect_params and ae_list_available_effects purely from the description.

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

Usage Guidelines5/5

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

Explicitly routes the agent: check parameter names with ae_get_effect_params first, use ae_set_effect_params to change an applied effect, and ae_list_available_effects to search installed effects. The when-to-use and when-not-to-use cases are both named.

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