Agent Skills

mcp-aftereffects

TypeScript MCP server for Adobe After Effects (Windows & macOS) — project/comp/layer introspection, atomic undo-grouped operations, JSON project export/import, and single-frame rendering via file IPC.

Install

npx -y @kumoproductions/mcp-aftereffects
README.md

MCP for After Effects

mcp-aftereffects

CI License: MIT Node After Effects Platform

English | 日本語

An MCP server that enables AI to control Adobe After Effects.

You can connect MCP-compatible clients such as Claude Code or Claude Desktop to a running instance of After Effects, allowing the AI to handle everything from project inspection and editing to rendering.

There is no need to provide detailed instructions on how to operate After Effects. Simply explain what you want to achieve in natural language, and the AI will check the project status and perform the necessary operations.

Windows / macOS · After Effects 2024–2026 · Node.js 24+

[!CAUTION] This tool directly manipulates After Effects projects via AI.

The AI can read project contents and modify compositions, layers, effects, keyframes, and more.

Additionally, information the AI reads from the project may be sent to the AI service you are using. This may include composition names, layer names, expressions, keyframes, footage file paths, etc.

If using this for projects under NDA or unreleased works, please check the data retention policy of the AI service you are using and the logs of your MCP client beforehand.

For first-time use, we recommend trying it with a backup or a test .aep file rather than a critical project.

Capabilities

With mcp-aftereffects, you can request the AI to perform After Effects tasks.

  • Inspect project contents
  • Investigate compositions and layers
  • Edit layers and properties
  • Add or modify keyframes
  • Edit effects and masks
  • Edit text and shapes
  • Set expressions
  • Save projects
  • Create and restore project backups
  • Render frames to preview changes

For example, you can give instructions like these:

"Import this Illustrator file and create some nice-looking text motion."

"Apply the revisions mentioned in this PDF."

"Point out any issues in this AEP."

Even for complex tasks, the AI can combine necessary operations while checking the project status.

Requirements

  • Windows or macOS
  • Adobe After Effects 2024 / 2025 / 2026
  • Node.js 24 or higher
  • MCP-compatible client (Claude Code, Claude Desktop, etc.)

No plugins or panels need to be installed within After Effects for the usual setup: one After Effects at a time. Driving several instances at once (AfterFX.exe -m) is the one case that needs a small startup script — see Multiple After Effects Instances.

After Effects Settings

In After Effects Preferences, please turn ON the following:

Preferences → Scripting & Expressions → "Allow Scripts to Write Files and Access Network"

If this setting is OFF, the AI will not be able to perform operations correctly.

For macOS

Upon first use, macOS may request permission for the client to control After Effects.

If it is not permitted, go to:

System Settings → Privacy & Security → Automation

and allow your MCP client or terminal to control After Effects.

Quick Start

No installation is required on the After Effects side as long as you run one After Effects at a time.

First, launch After Effects and open the project you wish to operate on.

Next, register mcp-aftereffects with your MCP client.

Claude Code

claude mcp add aftereffects -- npx -y @kumoproductions/mcp-aftereffects

Claude Desktop

Add the following to your MCP configuration file:

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

If you are using other MCP clients, please follow their respective registration methods for MCP servers.

Read-Only Mode

If you want to inspect or audit project content without making any changes, you can use read-only mode.

Add the following to your MCP client configuration:

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

You can still investigate the project and render frames for preview.

Advanced Settings

Usually, no configuration is necessary.

In some environments, such as when After Effects is installed in a non-standard location, additional settings may be required.

Specifying After Effects Location

If After Effects is not in the standard installation path, you can specify the executable location using AE_MCP_EXE.

By default, it automatically searches for After Effects in the order of 2026 → 2025 → 2024.

Limiting Operation Scope

Using AE_MCP_ALLOW_CATEGORIES, you can restrict the types of operations permitted for the AI.

For example, you can limit permissions to only keyframe-related operations depending on your use case.

Multiple After Effects Instances

After Effects can run several copies at once (AfterFX.exe -m), each with its own project. Out of the box the server reaches only the first, normally started copy: instances started with -m never receive the scripts it launches. To drive them, install the resident agent once:

npx @kumoproductions/mcp-aftereffects install-agent

This drops a small startup script into After Effects' user-level Scripts/Startup folder (no admin rights needed; run it again after an After Effects update). From the next launch on, every instance — including -m ones — serves a mailbox of its own, and the server picks which instance to talk to:

  • AE_MCP_INSTANCE in the server's env names the default instance for the whole session, either by the id the instance was started with or by the project file it has open ("shotA", "shotA.aep", or a full path when two projects share a name).
  • Every tool takes an optional instance argument to address another instance for a single call.
  • ae_context and ae_do instance.list show what is live.

To name an instance at launch, set AE_MCP_INSTANCE in the environment that starts it:

set AE_MCP_INSTANCE=shotA
"C:\Program Files\Adobe\Adobe After Effects 2026\Support Files\AfterFX.exe" -m

An unnamed instance gets a random id (ae-…) and can still be addressed by its project file. With exactly one live agent no configuration is needed at all; with several live and none named, calls fail with NO_INSTANCE instead of guessing.

The agent keeps polling its mailbox for as long as After Effects runs, server or no server, so the mailbox directory under your per-user temp folder stays the trust boundary for the whole session. The mailbox location is fixed into the startup script when you install it; if you change AE_MCP_RUNTIME_DIR, run install-agent again (agent-status tells you when it is out of date).

Parallel Work with Worker Instances

The AI can start instances itself. instance.start launches a new After Effects, waits for it to register, and can open a copy of a project — the safe way to work on something the main instance has open:

  1. instance.start { name: "w1", copyFrom: "<main .aep>" } — a worker with its own copy
  2. Work in it: any tool with instance: "w1"
  3. ae_save_project with instance: "w1"
  4. project.merge { path: "<the copy>" } in the main instance — the copy comes in as a folder; nothing already in the project is touched
  5. instance.stop { name: "w1" }

Several workers can run at once. Each is a full After Effects, so plan on a few gigabytes of memory per instance.

Execution of Arbitrary ExtendScript

mcp-aftereffects includes an advanced feature to execute arbitrary ExtendScript for processes that cannot be handled by standard operations.

This feature is disabled by default.

[!CAUTION] Enabling arbitrary ExtendScript allows operations outside of After Effects.

This may permit actions that affect your entire computer, such as file or process manipulation.

This feature is disabled by default. Enable it only if necessary.

To enable it, set the following in your MCP server environment variables:

"env": {
  "AE_MCP_ENABLE_EVAL": "1"
}

Use this feature only for advanced processing that cannot be achieved through regular operations or when custom ExtendScript is required.

Official Releases

[!NOTE] Official releases are distributed only through npm and GitHub Releases.

Please exercise caution if obtaining packages claiming to be @kumoproductions/mcp-aftereffects or files claiming to be this server from any other location.

Troubleshooting

Operations Timeout

Please check the following:

  • Is After Effects running?
  • Is a project open?
  • Is "Allow Scripts to Write Files and Access Network" turned ON?
  • On macOS, is the Automation permission enabled?

NO_INSTANCE

The call had no After Effects to go to. Either every running After Effects was started with -m and the agent is not installed (see Multiple After Effects Instances), the instance named by AE_MCP_INSTANCE / instance is not running or is stuck in a dialog, or several agents are live and none was named. The error lists what is live.

DIALOG_OPEN — After Effects Is Showing a Dialog

While After Effects shows a modal dialog, no script runs at all — neither the resident agent nor a -r launch. The most common cause is opening a project whose footage or fonts are missing ("N files are missing since you last saved this project"), and the dialog is often hidden behind the main window. The error quotes the dialog's text (on macOS, see below).

  • instance.dialogs lists the dialogs every running After Effects is showing.
  • instance.dismiss_dialog { id } closes it with Escape, the dialog's cancel action: a warning is acknowledged, and a question such as "Save changes before closing?" is cancelled rather than answered — nothing is saved or discarded. A dialog you want answered differently has to be clicked by you.
  • The agent resumes on its own once the dialog is gone; no restart is needed.
  • To avoid the missing-files warning in the first place, start After Effects without a project and open it with project.open, which suppresses the dialog.

Dialog detection works on Windows and macOS. On macOS it has two tiers:

  • With Accessibility permission for the app that runs the MCP server (System Settings > Privacy & Security > Accessibility — your terminal, or the MCP client app), every dialog is found and its text read, and instance.dismiss_dialog works the same way as on Windows: Escape, the cancel action. A "Save changes before closing?" prompt is cancelled (the project stays open and unsaved); a warning or script alert() is acknowledged. After Effects is not brought to the front.
  • Without that permission, dialogs are only guessed at from the window list: most are found, with empty text (accessibility: false), but some — such as the Adobe licensing prompt — are missed, and none can be dismissed from here.

Verified on After Effects 26.5 / macOS 26.4 with the missing-files warning, a script alert(), the save prompt and the System Compatibility Report.

After Effects Stops at a "We detected a crash" Dialog

If an After Effects process was killed (Task Manager, taskkill, a crash), the next launch shows the Safe Mode dialog and waits for a click — including instances started by instance.start, which then fail with did not register. Dismiss the dialog on screen. An instance that quits normally does not trigger it, so prefer instance.stop over killing.

After Effects Not Found

If you have installed After Effects in a non-standard location, please set AE_MCP_EXE.

If the issue persists, please report it via an Issue or to @cumuloworks.

Developer Information

For information regarding internal MCP tools, communication methods with After Effects, ExtendScript, test environments, and how to add custom operations, please refer to the developer documentation.

  • docs/TOOLS.md
  • CONTRIBUTING.md

Contributing

Bug reports, feature requests, and Pull Requests are welcome.

For information on setting up the development environment and the internal architecture, please refer to CONTRIBUTING.md.

License

MIT © 2026 kumo.productions, Inc.

Trademark

Adobe® and Adobe After Effects® are trademarks of Adobe Inc.

This project is an independent, unofficial tool and is not affiliated with or endorsed by Adobe.

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers