export const meta = {
  title: "After Effects MCP: Connect Claude and Automate a Brand Update",
  description: "Connect Claude Desktop to After Effects with @kumoproductions/mcp-aftereffects, enable scripting, run scoped brand updates, and review a saved AEP copy.",
  tldr: "Use Node 24+, configure Claude Desktop to launch @kumoproductions/mcp-aftereffects, choose editable or AE_MCP_READONLY mode, work on a copied AEP, approve small changes in After Effects, and save a new reviewed version.",
  slug: "after-effects-mcp-claude-brand-update",
  publishedAt: "2026-11-04",
  readingTime: 9,
  thumbnail: "https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/cover-213d4af6bee6.png",
  authors: [
    "gurish"
  ],
  primaryTopic: "post-production",
  topics: [
    "post-production"
  ],
  tags: [
    "editing",
    "vfx-handoff"
  ],
  faq: [
    {
      question: "Which After Effects MCP server does this workflow use?",
      answer: "This workflow uses @kumoproductions/mcp-aftereffects from the kumoproductions/mcp-aftereffects project. Claude Desktop launches the MCP server with npx, and the server communicates with a running After Effects project through scripting."
    },
    {
      question: "Do I need to install an After Effects plugin or panel?",
      answer: "No, not for the normal single-instance setup. You configure Claude Desktop to run the MCP server, open After Effects separately, and work on the open AEP. The server uses After Effects scripting rather than a manually installed panel."
    },
    {
      question: "What version of Node.js is required?",
      answer: "The maintainer documents Node.js 24 or higher as a requirement. Check your installed version with node --version. If Claude Desktop cannot find Node or npx from its environment, the MCP server will not start correctly."
    },
    {
      question: "Why does After Effects need the scripting preference enabled?",
      answer: "The server relies on After Effects scripting to inspect and modify projects. On macOS in After Effects 26.5, open After Effects > Settings > Scripting & Expressions and enable Allow Scripts to Write Files and Access Network. Without it, Claude may appear connected but fail when it tries to operate on the project."
    },
    {
      question: "Can I run the server in read-only mode?",
      answer: "Yes. Add AE_MCP_READONLY set to 1 as an environment variable in the MCP server configuration. In read-only mode, the assistant can inspect the project and render preview frames, but it should not edit the AEP. Restart Claude Desktop after changing the configuration."
    }
  ],
  draft: false
}

## Update After Effects brand elements with MCP

For a brand update, give Claude a request it can act on and you can review: “In this copied AEP, find all instances of the old brand blue and update them to the new brand blue, but only inside the social end card comps.” That is specific enough for an assistant to inspect the project, call After Effects tools, and make changes you can review natively in the timeline.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-brand-example-af8e23073df5.png"
  alt="Example end cards comparing Acme Studio in blue 0057FF with Acme Motion in blue 173BFF, including the updated website text."
  caption="An example brand update. The prompt changes the company name, website text, and brand blue. This illustration shows the requested result; it is not a screenshot of a completed After Effects edit."
  width={2160}
  height={1280}
/>

Claude connected to After Effects is also useful for repetitive work you can inspect afterward, such as renaming comps, auditing layers, swapping brand text, updating colors, or rendering a preview frame.

This tutorial uses `@kumoproductions/mcp-aftereffects`, [an MCP server](https://github.com/kumoproductions/mcp-aftereffects) from `kumoproductions/mcp-aftereffects`. It connects Claude Desktop to a running After Effects project through the Model Context Protocol. In the normal single-instance setup, you don't install an After Effects panel or plugin. You run After Effects, open a project, configure Claude Desktop to launch the MCP server with `npx`, and then ask Claude to inspect or modify the open AEP.

Open a copy of the project first because the connector can change your compositions, layers, and effects. Your MCP client may also send project details to the AI service, including project names, layer data, expressions, and file paths.

We tested the brand update below on macOS 26.2 with After Effects 26.5.0, Claude Desktop 4.4212.0, Node.js 25.8.1, and `@kumoproductions/mcp-aftereffects@0.3.2`. Claude inspected the sample, changed its two text layers and blue shape fill, then saved a new AEP. The screenshots show that project before and after the edit.

## Requirements

The maintainer lists support for Windows and macOS, After Effects 2024 through 2026, and [Node.js 24 or higher](https://github.com/kumoproductions/mcp-aftereffects). Treat that as the maintainer’s stated compatibility, not as a tested matrix from Aspect.

Make sure you have these pieces in place:

- Adobe After Effects 2024, 2025, or 2026
- Claude Desktop with custom MCP server configuration access
- Node.js 24 or higher available on your machine
- `npx` available from the same environment Claude Desktop will use
- One running After Effects instance for the standard setup
- A copy of the AEP you're willing to let an AI assistant inspect and edit

Check Node from a terminal:

```bash
node --version
```

If the version is below 24, update Node before configuring Claude. If Claude Desktop can't find `npx` in its launch environment, the server won't start even if After Effects is open.

In After Effects, turn on the [scripting preference](https://github.com/kumoproductions/mcp-aftereffects) the server needs:

On macOS in After Effects 26.5, open **After Effects > Settings > Scripting & Expressions**. The window is titled **Preferences**. Select **Allow Scripts to Write Files and Access Network**.

If this preference is off, Claude may connect to the MCP server but fail when it tries to operate After Effects. The server requires this setting because it uses After Effects scripting to inspect and manipulate the project.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-preferences-9b8f914fceb9.png"
  alt="After Effects 26.5.0: Allow Scripts to Write Files and Access Network is selected. On macOS, reach this window through After Effects &gt; Settings &gt; Scripting &amp; Expressions."
  caption="Enable After Effects scripting. After Effects 26.5.0: Allow Scripts to Write Files and Access Network is selected. On macOS, reach this window through After Effects &gt; Settings &gt; Scripting &amp; Expressions."
  width={2218}
  height={519}
/>

## Configure Claude Desktop

In Claude Desktop 4.4212.0, open **Settings > Desktop app**, choose **Manage** beside Extensions, then find **Local MCP servers > Edit config**. This opens the MCP configuration file. The usual locations are:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

If the file doesn't exist yet, create it and add this [complete configuration](https://github.com/kumoproductions/mcp-aftereffects):

```json
{
  "mcpServers": {
    "aftereffects": {
      "command": "npx",
      "args": ["-y", "@kumoproductions/mcp-aftereffects@0.3.2"]
    }
  }
}
```

If you already have MCP servers configured, don't replace the whole file. Merge the `aftereffects` entry into the existing `mcpServers` object so it sits alongside your other named servers.

Save the file and fully restart Claude Desktop. Closing the chat window isn't enough if the app is still running in the background. Quit Claude Desktop and reopen it so it reloads the MCP configuration and starts the server.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-config-69b29bf880b4.png"
  alt="Claude Desktop lists aftereffects as Running and shows the pinned @kumoproductions/mcp-aftereffects@0.3.2 command. Edit config opens the configuration file."
  caption="Find the local MCP server settings. Claude Desktop lists aftereffects as Running and shows the pinned @kumoproductions/mcp-aftereffects@0.3.2 command. Edit config opens the configuration file."
  width={2667}
  height={2041}
/>

As a short alternative for Claude Code, the maintainer documents this command:

```bash
claude mcp add aftereffects -- npx -y @kumoproductions/mcp-aftereffects@0.3.2
```

For this walkthrough, keep using Claude Desktop.

## Open After Effects

Launch After Effects and open a duplicate of the project, not the production master. If the job is called `Brand_Film_v12.aep`, make a copy such as `Brand_Film_v12_mcp-test.aep` and open that.

The standard setup works with one normal After Effects instance at a time. You don't need to install anything inside After Effects for that case. If you run multiple After Effects instances with `AfterFX.exe -m`, you need a separate setup involving the project’s resident agent. For a brand update, keep it simple: one app instance, one copied AEP, one Claude Desktop session.

If After Effects shows a modal dialog, resolve it before asking Claude to work. Missing footage, missing fonts, save prompts, and warning dialogs can block scripts from running. Sometimes the dialog is behind the main window, so bring After Effects forward and clear anything waiting for input.

## Confirm Claude can see the After Effects tools

Start a new Claude Desktop conversation after the restart. Ask for a tool check without asking for project changes:

```text
You are connected to an After Effects MCP server. List the After Effects tools available to you and briefly describe what you can inspect or change. Do not modify the open project.
```

Look for evidence that Claude can access the `aftereffects` MCP server and its tools. Depending on the client UI, you may see tool names exposed in the chat, a tools indicator, or tool-use confirmations when Claude answers.

Then ask Claude to inspect the current project context without editing:

```text
Inspect the currently open After Effects project in read-only fashion. Tell me the project file name, the main compositions you can see, their durations, frame rates, dimensions, and any obvious comps that look like end cards, lower thirds, logo animations, or brand graphics. Do not create, delete, rename, save, or modify anything.
```

Check that Claude found the AEP and comps you intended to work on. Resolve any missing fonts or footage before approving changes.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-connection-8a9fa4ac240a.png"
  alt="The expanded ae_comp_info call shows the real EndCard response, including its dimensions, frame rate, and layers."
  caption="Inspect EndCard through Claude. The expanded ae_comp_info call shows the real EndCard response, including its dimensions, frame rate, and layers."
  width={2018}
  height={1829}
/>

If you want to enforce [read-only mode](https://github.com/kumoproductions/mcp-aftereffects) at the server level, use this configuration instead of the editable one:

```json
{
  "mcpServers": {
    "aftereffects": {
      "command": "npx",
      "args": ["-y", "@kumoproductions/mcp-aftereffects@0.3.2"],
      "env": {
        "AE_MCP_READONLY": "1"
      }
    }
  }
}
```

Read-only mode still allows project investigation and preview frame rendering, but it prevents project edits. Use it for audits, conform reviews, and “tell me what changed” sessions. Switch back to the editable configuration only when you're ready to make changes, then restart Claude Desktop again.

## Give Claude a specific brand update

Once Claude can inspect the copied AEP, give it a request with clear limits. Include the old brand values, new brand values, target comps, allowed operations, and stop conditions.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-before-3cc40722cb97.png"
  alt="The original EndCard has two editable text layers and a blue shape layer. Company Name reads Acme Studio, and Website reads acmestudio.com."
  caption="Before the brand update. The original EndCard has two editable text layers and a blue shape layer. Company Name reads Acme Studio, and Website reads acmestudio.com."
  width={2820}
  height={2047}
/>

Our sample has one composition, `EndCard`, with three layers: `Company Name`, `Website`, and `Brand Blue`. The composition is 1920 × 1080, runs at 24 fps, and lasts five seconds.

After inspecting the sample, we used this prompt:

```text
Update only this tutorial sample’s EndCard composition.

Replace the Company Name text Acme Studio with Acme Motion.
Replace Website text acmestudio.com with acmemotion.com.
Change the Brand Blue shape fill from #0057FF to #173BFF.

Keep all layer names, positions, timing, frame rate and dimensions unchanged.
Use the aftereffects catalog and dedicated operations, not arbitrary scripts.
Save as Brand_Film_v12_brand-update-mcp.aep in the same folder, preserving the original file.
Verify the resulting text, fill color and timing. Use no other connectors or files.
```

Claude used two `text.set_content` operations and a fill-only `shape.recolor` operation. It then saved the new file and read back the layer properties. Both text layers kept their fonts, sizes, and positions. All three layers still ran from zero to five seconds.

On your own project, replace the composition and layer names with the names you found during inspection. For a larger brand update, ask Claude to list the proposed changes first. Approve one composition or one type of change at a time so you can review it before continuing.

## Inspect the result in After Effects

Use Claude’s summary to find the layers it changed, then check them in After Effects before saving.

Open the target comps yourself and inspect the actual layers. Check the details that drive the visible result:

- text content, font fallback, and source rectangles
- line breaks, tracking, and expressions
- shape fills
- any essential graphics controls that drive the visible result

For a color update, use the timeline and Effect Controls panel to check the properties Claude says it changed. A layer named “Brand Blue BG” is usually fair game, but a footage layer that happens to contain the old color isn't. Your team may need to decide what to do with a gradient that includes the old blue, because a flat replacement can change the art direction.

If you have not already saved a new version, ask Claude to do that after you inspect the result:

```text
The inspected changes look correct. Save this project as a new version next to the current file using the suffix "_brand-update-mcp". Do not overwrite the original copied AEP. Then report the saved file path.
```

If you see a problem, ask for a targeted correction:

```text
In comp "Social_EndCard_9x16", layer "URL_Text" now wraps to two lines. Reduce the font size only enough to keep it on one line within the existing safe area. Do not change position, timing, font family, or any other comp.
```

Narrow corrections reduce the chance of unrelated changes.

<BlogFigure
  src="https://cdn.aspectlabs.dev/blog/after-effects-mcp-claude-brand-update/ae-after-7fa9f7725812.png"
  alt="The saved copy shows Acme Motion and acmemotion.com. The blue fill is #173BFF. The original three layers, five-second duration, and 24 fps composition remain intact."
  caption="After the brand update. The saved copy shows Acme Motion and acmemotion.com. The blue fill is #173BFF. The original three layers, five-second duration, and 24 fps composition remain intact."
  width={2820}
  height={2047}
/>

## Common mistakes

If the connection isn't working, check these common mistakes:

- You didn't fully restart Claude Desktop after editing `claude_desktop_config.json`.
- Node.js is older than 24, or `npx` isn't available to Claude Desktop.
- The JSON is invalid because of a missing comma, extra comma, or overwritten `mcpServers` object.
- After Effects isn't open, or the wrong AEP is open.
- `Allow Scripts to Write Files and Access Network` is disabled in After Effects preferences.
- After Effects is blocked by a modal dialog, often missing footage or missing fonts.
- Multiple After Effects instances are running, and the server is talking to the first normal instance rather than the one you expected.

If After Effects reports or implies a dialog is open, bring the app to the front and resolve it manually. Don't let an automation session answer save/discard questions for you unless you're completely sure which project is active.

## Where Aspect fits in the handoff

Aspect is optional for this tutorial, and you don't need an Aspect account to connect Claude Desktop to After Effects with `@kumoproductions/mcp-aftereffects`.

Aspect helps with the asset and version handoff around the AEP. If your team keeps footage, graphics, audio, and AEPs in a shared [Aspect-mounted project](/features/instant-access), editors and motion designers can work from the same source paths instead of collecting and re-sending a project for every revision. For an MCP-assisted brand update, your team can use a simple handoff pattern: duplicate the AEP, name it clearly, keep it beside the source media, make the approved changes, save a new version, and [leave review notes](/features/review-and-approve) that identify the comps and layers changed.

Your teammates can then find the updated AEP, open the same source files, and read which comps and layers changed.

## When to use After Effects MCP

We recommend using After Effects MCP when you can name the comps, layers, and properties you want to change. For example, ask it to replace text in your end cards, update a specific hex color on shape fills, or rename comps that match a naming pattern. Tell Claude which assets to leave alone and how to report its changes so you can check the result in After Effects.


## Visual references and setup guides

- [Connector setup and supported tools](https://github.com/kumoproductions/mcp-aftereffects). The selected connector's README contains the configuration, scripting preference, read-only option, and tool reference.
- [Adobe's guide to After Effects scripts](https://helpx.adobe.com/after-effects/using/scripts.html). Adobe explains the scripting preferences and how scripts interact with After Effects.
