Skip to main content
Glama
README.md
# 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`](AGENTS.md) y [`docs/CLIENTS.md`](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:

```text
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.
```

## 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:

```powershell
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`:

```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:

```powershell
opencode mcp list
```

Archivo listo: [`examples/opencode.json`](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.

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

5. Cierra Claude Desktop completamente y vuelve a abrirlo.
6. En el cuadro de mensaje, abre **Connectors > Manage connectors** y confirma
   que `after-effects` muestra sus herramientas.

Archivo listo:
[`examples/claude-desktop.json`](examples/claude-desktop.json).

### Claude Code

Instalacion para todos los proyectos del usuario:

```powershell
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:

```powershell
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

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

Configuracion TOML equivalente:

```toml
[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`](examples/codex.toml).

### Cursor

Crea o combina `.cursor/mcp.json`:

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

Reinicia Cursor. Archivo listo: [`examples/cursor.json`](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](https://developers.openai.com/codex/mcp).

## 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

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

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

```json
{
  "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

```text
Inspecciona el proyecto abierto de After Effects y dime que composiciones tiene.
```

```text
Crea una composicion 1920x1080 de 10 segundos y agrega un titulo animado.
```

```text
Importa C:\Recursos\logo.svg y usalo en la composicion Final.
```

```text
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

```powershell
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`](docs/CLIENTS.md).

## Desarrollo

```powershell
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](LICENSE)

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues