tldraw
Draw and visually collaborate with your agents on tldraw's canvas.
TLtldraw/tldraw51k105 new stars in the last 7 days
MCP server for Adobe After Effects — comp/layer introspection, undo-grouped ops, frame rendering.

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.
With mcp-aftereffects, you can request the AI to perform After Effects tasks.
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.
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.
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.
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.
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 mcp add aftereffects -- npx -y @kumoproductions/mcp-aftereffects
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.
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.
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.
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.
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.
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).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).
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:
instance.start { name: "w1", copyFrom: "<main .aep>" } — a worker with its own copyinstance: "w1"ae_save_project with instance: "w1"project.merge { path: "<the copy>" } in the main instance — the copy comes in as a folder; nothing already in the project is touchedinstance.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.
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.
Note
Official releases are distributed only through npm and GitHub Releases.
Please exercise caution if obtaining packages claiming to be
@kumoproductions/mcp-aftereffectsor files claiming to be this server from any other location.
Please check the following:
NO_INSTANCEThe 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 DialogWhile 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.project.open, which suppresses the dialog.Dialog detection works on Windows and macOS. On macOS it has two tiers:
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.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.
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.
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.
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.mdCONTRIBUTING.mdBug 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.
MIT © 2026 kumo.productions, Inc.
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.
Draw and visually collaborate with your agents on tldraw's canvas.
TLtldraw/tldraw51k105 new stars in the last 7 days
Let your agent model, build and edit 3D scenes in Blender.
AHahujasid/mcp-for-blender30k489 new stars in the last 7 days
Search your local screen recordings, audio transcripts, and computer activity from screenpipe.
SCscreenpipe/screenpipe22k99 new stars in the last 7 days
Transcribe local audio with FunASR and SenseVoice using private, on-device inference.
MOmodelscope/FunASR21k65 new stars in the last 7 days
Manage assets, control scenes, edit scripts and run tests in the Unity Editor.
COCoplayDev/unity-mcp15k154 new stars in the last 7 days
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
IVIvanMurzak/Unity-MCP4.4k37 new stars in the last 7 days