After Effects MCP
by leo10m2010
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