Skip to main content
Glama

After Effects MCP

Servidor MCP local para controlar Adobe After Effects desde OpenCode, Claude Desktop, Claude Code, ChatGPT Desktop con Codex, Codex CLI, Cursor y otros clientes compatibles con Model Context Protocol.

Permite inspeccionar proyectos, crear composiciones, agregar capas, importar archivos, ejecutar ExtendScript y renderizar con aerender. Funciona por stdio, no abre puertos de red y procesa las operaciones JSX en serie.

Repositorio: https://github.com/leo10m2010/mcp-after

Para una IA que recibe este enlace

Lee AGENTS.md y docs/CLIENTS.md. Detecta el cliente del usuario, aplica solo la configuracion correspondiente, conserva su configuracion existente y verifica la conexion antes de modificar After Effects.

Prompt que un usuario puede entregar a otra IA:

Instala y configura este MCP de After Effects para el cliente que estoy usando:
https://github.com/leo10m2010/mcp-after
Sigue AGENTS.md, conserva mi configuracion actual y verifica la conexion.

Related MCP server: After Effects MCP Server

Compatibilidad

Cliente

Proveedor habitual

MCP local stdio

Metodo recomendado

OpenCode

OpenAI, Anthropic y otros

Si

opencode.json

Claude Desktop

Anthropic

Si

Settings > Developer > Edit Config

Claude Code

Anthropic

Si

claude mcp add

ChatGPT Desktop con Codex

OpenAI

Si

Settings > MCP servers o codex mcp add

Codex CLI / IDE

OpenAI

Si

codex mcp add

Cursor

Configurable

Si

.cursor/mcp.json

ChatGPT web

OpenAI

No local

Requiere una app MCP remota HTTPS

ChatGPT Desktop con Codex, Codex CLI y la extension IDE comparten la misma configuracion MCP. ChatGPT web no lee la configuracion local.

Requisitos

  • Windows 10 u 11.

  • Node.js 20 o superior.

  • Adobe After Effects instalado.

  • En After Effects, activar: Preferencias > Secuencias de comandos y expresiones > Permitir que las secuencias de comandos escriban archivos y accedan a la red.

El servidor detecta automaticamente la version mas reciente instalada en C:\Program Files\Adobe.

Generar la configuracion

No es necesario clonar el repositorio. El ejecutable imprime la configuracion correcta para cada cliente:

npx -y github:leo10m2010/mcp-after --print-config opencode
npx -y github:leo10m2010/mcp-after --print-config claude-desktop
npx -y github:leo10m2010/mcp-after --print-config claude-code
npx -y github:leo10m2010/mcp-after --print-config cursor
npx -y github:leo10m2010/mcp-after --print-config codex
npx -y github:leo10m2010/mcp-after --print-config codex-toml
npx -y github:leo10m2010/mcp-after --print-config chatgpt-desktop
npx -y github:leo10m2010/mcp-after --print-config chatgpt

Instalacion por cliente

OpenCode

Combina este bloque con opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "after-effects": {
      "type": "local",
      "command": ["npx", "-y", "github:leo10m2010/mcp-after"],
      "enabled": true
    }
  }
}

Reinicia OpenCode y verifica:

opencode mcp list

Archivo listo: examples/opencode.json.

Claude Desktop para Windows

  1. Abre Claude Desktop.

  2. Entra a Settings > Developer > Edit Config.

  3. Claude abre %APPDATA%\Claude\claude_desktop_config.json.

  4. Combina el siguiente servidor dentro de mcpServers sin borrar otros MCP.

{
  "mcpServers": {
    "after-effects": {
      "command": "npx",
      "args": ["-y", "github:leo10m2010/mcp-after"]
    }
  }
}
  1. Cierra Claude Desktop completamente y vuelve a abrirlo.

  2. En el cuadro de mensaje, abre Connectors > Manage connectors y confirma que after-effects muestra sus herramientas.

Archivo listo: examples/claude-desktop.json.

Claude Code

Instalacion para todos los proyectos del usuario:

claude mcp add --scope user --transport stdio after-effects -- npx -y github:leo10m2010/mcp-after
claude mcp list

Abre una nueva sesion de Claude Code y usa /mcp para comprobar el servidor.

ChatGPT Desktop con Codex

La app de escritorio de ChatGPT con Codex admite servidores locales stdio. Puede configurarse de dos formas:

  1. Abre Settings > MCP servers > Add server.

  2. Elige STDIO.

  3. Nombre: after-effects.

  4. Comando: npx.

  5. Argumentos: -y y github:leo10m2010/mcp-after.

  6. Guarda y selecciona Restart.

Alternativamente, instala desde una terminal:

codex mcp add after-effects -- npx -y github:leo10m2010/mcp-after
codex mcp list

La app de ChatGPT Desktop, Codex CLI y la extension Codex comparten ~/.codex/config.toml. Configurar una de ellas configura las otras en el mismo host. En la interfaz, usa /mcp para ver el servidor.

Codex CLI o extension IDE

codex mcp add after-effects -- npx -y github:leo10m2010/mcp-after
codex mcp list

Configuracion TOML equivalente:

[mcp_servers.after-effects]
command = "npx"
args = ["-y", "github:leo10m2010/mcp-after"]
startup_timeout_sec = 30
tool_timeout_sec = 3600
default_tools_approval_mode = "writes"

Archivo listo: examples/codex.toml.

Cursor

Crea o combina .cursor/mcp.json:

{
  "mcpServers": {
    "after-effects": {
      "command": "npx",
      "args": ["-y", "github:leo10m2010/mcp-after"]
    }
  }
}

Reinicia Cursor. Archivo listo: examples/cursor.json.

ChatGPT web

ChatGPT web no puede iniciar este proceso local ni leer ~/.codex/config.toml. Las apps MCP de la web requieren un endpoint remoto HTTPS.

Este servidor incluye after_effects_run_jsx, que puede ejecutar codigo y acceder a archivos locales. No lo publiques mediante un tunel abierto. Para usar modelos OpenAI con el After Effects de la misma computadora, usa ChatGPT Desktop con Codex o Codex CLI.

Una version remota requiere otro componente con HTTPS, autenticacion, permisos, restricciones de herramientas y acceso seguro a la computadora donde corre After Effects. Consulta la documentacion oficial de MCP para ChatGPT.

Cambiar de proveedor o modelo

El MCP es independiente del proveedor. No contiene claves de OpenAI o Anthropic y no selecciona el modelo. El cliente decide que modelo llama las herramientas.

En OpenCode:

  1. Ejecuta opencode models.

  2. Selecciona un identificador disponible, por ejemplo uno con prefijo openai/ o anthropic/.

  3. Cambia el campo model o usa el selector de modelos.

  4. Conserva intacto mcp.after-effects.

  5. Reinicia OpenCode si modificaste opencode.json.

En Claude, el proveedor lo gestiona Claude. En Codex y ChatGPT Desktop con Codex, el proveedor lo gestiona OpenAI. Cambiar de cliente no requiere reinstalar el MCP; solo agrega la misma orden npx en el nuevo cliente.

Instalacion global opcional

npm install --global github:leo10m2010/mcp-after

Despues puede usarse after-effects-mcp en lugar de npx -y ...:

{
  "command": "after-effects-mcp"
}

Herramientas

Herramienta

Funcion

after_effects_status

Comprueba instalacion, rutas y proceso activo.

after_effects_project_info

Lee proyecto, composiciones, capas, transformaciones y efectos.

after_effects_new_project

Crea un proyecto nuevo y protege cambios sin guardar.

after_effects_open_project

Abre un proyecto y protege cambios sin guardar.

after_effects_save_project

Guarda o ejecuta Guardar como.

after_effects_create_composition

Crea una composicion con dimensiones, duracion y FPS.

after_effects_add_text

Agrega y formatea una capa de texto.

after_effects_add_solid

Agrega una capa solida.

after_effects_import_file

Importa footage, secuencias, composiciones o proyectos.

after_effects_run_jsx

Ejecuta ExtendScript ES3 para operaciones avanzadas.

after_effects_render

Renderiza un proyecto guardado mediante aerender.

Ejemplos de uso

Inspecciona el proyecto abierto de After Effects y dime que composiciones tiene.
Crea una composicion 1920x1080 de 10 segundos y agrega un titulo animado.
Importa C:\Recursos\logo.svg y usalo en la composicion Final.
Guarda el proyecto y renderiza la composicion Final en C:\Renders\final.mov.

El agente debe inspeccionar el proyecto antes de editar. Guardar, descartar cambios o renderizar requiere una solicitud expresa del usuario.

Rutas personalizadas

  • AFTER_EFFECTS_PATH: ruta absoluta de AfterFX.exe.

  • AFTER_EFFECTS_RUNNER_PATH: ejecutable usado para enviar JSX.

  • AERENDER_PATH: ruta absoluta de aerender.exe.

Estas variables se agregan en env dentro de la configuracion MCP del cliente.

Diagnostico

node --version
npx --version
npx -y github:leo10m2010/mcp-after --version
npx -y github:leo10m2010/mcp-after --print-config opencode

Problemas comunes:

  • Si aparece npx ENOENT, ejecuta where.exe npx y usa la ruta de npx.cmd.

  • Si After Effects no aparece, configura AFTER_EFFECTS_PATH.

  • Si JSX no responde, activa el permiso de scripts en Preferencias de Adobe.

  • Si el cliente no muestra herramientas, cierralo completamente y reinicialo.

  • Claude Desktop escribe logs MCP en %APPDATA%\Claude\logs.

Consulta la guia ampliada en docs/CLIENTS.md.

Desarrollo

git clone https://github.com/leo10m2010/mcp-after.git
cd mcp-after
npm ci
npm test
npm run smoke
  • npm test valida sintaxis, configuraciones y protocolo sin After Effects.

  • npm run smoke comprueba la instalacion local sin abrir After Effects.

  • npm run smoke -- --live ejecuta lecturas reales.

  • npm run smoke -- --live --new-project modifica el estado de la aplicacion y solo debe usarse con un proyecto limpio.

Seguridad

  • El servidor local no abre puertos.

  • No guarda claves de proveedor.

  • Abrir o reemplazar proyectos rechaza cambios sin guardar por defecto.

  • Guardar, descartar y renderizar deben ser acciones solicitadas por el usuario.

  • after_effects_run_jsx tiene acceso amplio a After Effects y archivos locales.

  • No expongas este servidor directamente a Internet.

Licencia

MIT

Available Tools

11 tools
after_effects_add_solidAdd solid layerC

Add a solid layer to a composition. Dimensions, duration, and position default to the composition values.

Inputs: color (required), name, width, height, +6 more.

after_effects_add_textAdd text layerA

Add and style a text layer in a composition. Select the composition by id or exact name; when omitted, the active composition is used.

Inputs: text (required), font, in_point, position, +9 more.

after_effects_create_compositionCreate compositionC

Create a composition in the current After Effects project and optionally place it in a project folder.

Inputs: name (required), width, height, frame_rate, +6 more.

after_effects_import_fileImport file into After EffectsA

Import footage, an image sequence, a layered composition, or another project into the current After Effects project.

Inputs: file_path (required), sequence, import_as, timeout_seconds, +2 more.

after_effects_new_projectCreate new After Effects projectA
Destructive

Create a new project and dismiss the After Effects Home/New Project screen. Unsaved changes are protected by default. Optionally save the new project immediately.

Inputs: project_path, timeout_seconds, on_unsaved_changes.

after_effects_open_projectOpen After Effects projectA
Destructive

Open an .aep, .aepx, or template project. Unsaved changes are protected by default; choose save or discard explicitly when needed.

Inputs: project_path (required), timeout_seconds, on_unsaved_changes.

after_effects_project_infoInspect After Effects projectA
Read-onlyIdempotent

Inspect the current After Effects project, compositions, layers, transforms, and effects. Launches After Effects if needed but does not modify the project.

Inputs: max_items, include_layers, timeout_seconds, max_layers_per_comp.

after_effects_renderRender After Effects compositionA
Destructive

Render a saved After Effects project through aerender. Specify a composition or omit it to render queued items. This writes output files and may run for a long time.

Inputs: project_path (required), sound, end_frame, composition, +7 more.

after_effects_run_jsxRun advanced After Effects JSXA
Destructive

Run arbitrary ExtendScript inside After Effects for advanced operations not covered by focused tools. The code executes inside a function, may use app/project APIs, and should use an explicit return with JSON-serializable data. Use ES3-compatible syntax only. This is a powerful local tool: JSX can modify projects and access files.

Inputs: code (required), timeout_seconds, undo_group_name.

after_effects_save_projectSave After Effects projectA
DestructiveIdempotent

Save the current project. Provide project_path for Save As; omit it to save to the project's existing path.

Inputs: project_path, timeout_seconds.

after_effects_statusAfter Effects statusA
Read-onlyIdempotent

Check the local After Effects and aerender installation paths and whether After Effects is already running. This does not launch or modify After Effects.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct operation—adding solids, adding text, creating compositions, importing files, managing projects, rendering, and running scripts—with no overlap in purpose.

    Naming Consistency5/5

    All tools follow a consistent 'after_effects_verb_noun' pattern, making it easy to predict function from name.

    Tool Count5/5

    11 tools cover the core After Effects workflows without being excessive; each tool has a clear role.

    Completeness4/5

    The set covers project, composition, layer, import, and render operations. Missing some specific layer types (e.g., shapes) but the JSX runner fills advanced gaps.

    Related MCP Connectors

    Related MCP Servers