Skip to content
Agentmart
Submit a tool

MCP Aftereffects

MCP server for Adobe After Effects — comp/layer introspection, undo-grouped ops, frame rendering.

Connector by kumoproductions · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 131
Write a review

Chalk Labs

Need help deploying MCP Aftereffects?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/kumoproductions-mcp-aftereffects

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for Adobe After Effects — comp/layer introspection, undo-grouped ops, frame rendering.

Use cases: audio-video

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
8 read · 8 write · 0 delete
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 8 · Look things up without changing anything.

  • ae_catalog
  • ae_comp_info
  • ae_context
  • ae_layer_info
  • ae_project_info
  • ae_version_info
  • instance.dialogs
  • instance.list

Write 8 · Create, change, send or run things.

  • ae_do
  • ae_project_export_json
  • ae_project_import_json
  • ae_render_frame
  • ae_save_project
  • instance.dismiss_dialog
  • instance.start
  • instance.stop

Network hosts it talks to 1

  • github.com · found in code

Files it touches

  • Your home directory (~)

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • ae_catalogOperation catalog

    Discover available atomic operations for ae_do. Without args: all categories with their operation names. With a category: detailed params per operation. Only operations this server will actually execute are listed.

  • ae_comp_infoComp info

    Detailed comp info: size, fps, duration, work area, motion blur, layer summaries. Pass a comp name or item id — or an ARRAY of them to fetch several comps in one call.

  • ae_contextSession context

    Ambient context: project state, active comp, selected layers, item list, AE.* helpers, ES3 rules, and the undo contract (every call = one auto undo group). Call at session start; then rely on ae_do response context.

  • ae_doExecute operation

    Execute an atomic operation by name (from ae_catalog). Arguments are validated against the operation's declared parameters before anything reaches AE. Have more than one operation to run? Wrap them in ONE batch.run instead of several ae_do calls — read/verify steps (comp.info, layer.info, render.frame) can ride in the same batch. Every call is automatically wrapped in ONE undo group: a single Ctrl+Z (or project.undo) reverts the entire call, and a batch.run counts as one call. Never call app.beginUndoGroup/endUndoGroup in eval.run code — the wrapper already did. The exception is undo/redo itse…

  • ae_layer_infoLayer info

    Full layer info: transform, effects, masks, text, shape contents, keyframes (incl. interpolation names and bezier ease speed/influence). layerIndex accepts one index, an ARRAY of indices, or 'all' — auditing a whole comp is one call. detail:'summary' drops properties still at their default value (unkeyed, no expression) — start there for audits; the full tree is often 100KB+ per comp. Set includeProperties=false to skip the property tree walk entirely.

  • ae_project_export_jsonExport project JSON

    Serialize the entire project to JSON (folders, comps, layers, keyframes, effects, shapes, markers, time remap, solids, file refs). Write to `outPath` or return inline.

  • ae_project_import_jsonImport project JSON

    Rebuild the project from JSON (produced by ae_project_export_json). Supports `clearFirst`, `dryRun` (validate-only), `skipValidation`.

  • ae_project_infoProject info

    Project-level info: file path, dirty flag, all items with type/summary, active item. Start here.

  • ae_render_frameRender frame

    Render one or more frames to PNG. Use to visually verify edits. The agent's 'eyes' — pair with mutations for a visual feedback loop. Headless and deterministic. Pass `time` for one frame, or `times` for several in ONE call (motion checks): files land at <outPath stem>_<index>.png and are listed in `frames`. `contactSheet` tiles every frame into one labelled PNG (<stem>_sheet.png) so a motion check is one image; `analyze` measures each capture (uniform edge bands = black bars / transparent margins, content bounds, coverage) so off-frame elements and letterboxing are caught numerically. In color…

  • ae_save_projectSave project

    Save the project. Pass `path` for Save As.

  • ae_version_infoVersion info

    AE version, build, capabilities (saveFrameToPng, app.effects, Socket). Call at session start to know what APIs are available.

  • instance.dialogs

    List the modal dialogs every running After Effects is showing — the message text, the owning process and its window title, and an id for instance.dismiss_dialog. While a dialog is open no script runs (calls fail with DIALOG_OPEN, or an instance stops ticking), and the dialog is often hidden behind the main window. Windows and macOS. On macOS the text is read only with Accessibility permission for the app running this server; without it dialogs are still listed, with empty text (`accessibility: false`).

  • instance.dismiss_dialog

    Close a modal dialog After Effects is showing by its cancel action (what Escape does). A warning (missing files or fonts, a script alert) is acknowledged; a question is cancelled, never answered: "Save changes before closing?" leaves the project open and unsaved. Take `id` from instance.dialogs or from a DIALOG_OPEN error's details.dialogs. When the user wants a dialog answered some other way (Save, Replace…), ask them to click it. Windows and macOS; on macOS it needs Accessibility permission. A dialog Escape does not close is left open unless it has a single button (an OK-only warning), which…

  • instance.list

    List the After Effects instances whose resident agent is live — id, open project, busy state — and which one this call would address. Instances are separate After Effects processes (AfterFX.exe -m), each with its own project; address one on any tool with `instance: <id or project name>`. Stale entries are instances that quit or stopped ticking (a modal dialog blocks scripting).

  • instance.start

    Start a NEW After Effects instance (AfterFX.exe -m) named `name`, wait until its agent registers, and optionally open a project in it — or a COPY of one (`copyFrom`), which is the safe way to work on a project another instance already has open (two instances saving one file overwrite each other). Returns when the instance can be addressed with `instance: name` on every tool. Cold starts take 10–40 s. Parallel workflow: instance.start { name: 'w1', copyFrom: <main .aep> } → work with instance: 'w1' → ae_save_project (instance: 'w1') → project.merge { path: <the copy> } on the main instance → in…

Show 1 more tools
  • instance.stop

    Quit an After Effects instance by name. Refuses while the project has unsaved changes unless `save: true` (save in place — the project must have a file) or `discardChanges: true`. Returns once the instance has gone quiet. Use on workers you started with instance.start; it works on any live instance, so check instance.list before stopping one you did not start.

Signals

Stars
131
Forks
9
Open issues
1
Contributors
1
Weekly downloads
2,776
Last commit
Oct 16, 2026 (15 days ago)
Last release
Oct 16, 2026 (15 days ago)
Last package publish
Oct 16, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.kumoproductions/mcp-aftereffects
Version
0.3.1
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from kumoproductions

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get MCP Aftereffects running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying MCP Aftereffects?

CallGet help
Cite this page

MCP Aftereffects. Agent Mart. https://agentmart.dev/connectors/kumoproductions-mcp-aftereffects (last updated 2026-10-24)