Skip to main content
Glama

ae-mcp

Serveur MCP avancé pour Adobe After Effects. Il donne à un assistant les mêmes gestes qu'un monteur : lire un projet, créer et riger des calques, poser des keyframes avec de vraies courbes de vitesse, écrire du texte animé, construire des formes vectorielles, appliquer des effets et des expressions, piloter les menus natifs — et regarder le résultat grâce aux captures d'image renvoyées dans la conversation.

Architecture

Assistant (MCP)
      │  stdio
┌─────▼──────────────────────────────┐
│  serveur ae-mcp (Node/TypeScript)  │   easing, SVG, presets, schémas
└─────┬──────────────────────────────┘
      │  1. HTTP 127.0.0.1:9782  (transport CEP, principal)
      │  2. fichiers JSON scrutés (transport ScriptUI, secours)
┌─────▼──────────────────────────────┐
│  pont dans After Effects           │   panneau CEP ou panneau ScriptUI
└─────┬──────────────────────────────┘
      │  $.evalFile + AEMCP.runFile()
┌─────▼──────────────────────────────┐
│  kernel ExtendScript (AEMCP)       │   ~4 000 lignes, 60+ commandes
└────────────────────────────────────┘

Trois principes :

  • Le calcul lourd reste dans Node. Conversion SVG, mathématiques d'easing, presets d'animation : tout est préparé côté serveur ; le kernel ExtendScript ne fait qu'exécuter.

  • Les échanges passent par fichier. Les requêtes et réponses transitent en JSON sur disque, ce qui supprime les limites d'échappement et de taille de evalScript. Le HTTP ne sert qu'à déclencher.

  • Tout est atomique. Chaque requête (même un lot de 50 opérations) s'exécute dans un seul groupe d'annulation : un Ctrl+Z suffit à revenir en arrière.

Jeton d'authentification du pont HTTP

Le serveur HTTP du panneau CEP écoute sur 127.0.0.1 et déclenche des commandes dans After Effects (dont ae_eval, qui exécute de l'ExtendScript arbitraire). Pour empêcher qu'une page web ouverte dans le navigateur pendant qu'After Effects tourne ne pilote le pont via un simple fetch(), le panneau génère au premier démarrage un jeton aléatoire, stocké dans Documents/ae-mcp/bridge/token.txt et republié dans bridge.json (champ token). Toute requête POST /run ou POST /reload doit porter l'en-tête X-AE-MCP-Token avec ce jeton ; sans lui, le serveur répond 401. Le client MCP (src/bridge/client.ts) lit le jeton dans bridge.json et l'envoie automatiquement — aucune configuration manuelle n'est nécessaire. Le jeton persiste tant que token.txt existe ; le supprimer force une régénération au prochain démarrage du panneau.

Le transport de secours par fichiers (req//res/) n'a pas ce jeton : il repose sur les permissions du dossier Documents de l'utilisateur, qui protègent déjà contre l'accès depuis un autre compte.

Related MCP server: After Effects MCP Server

Installation

npm install
npm run build
npm run install-bridge      # installe l'extension CEP + le panneau ScriptUI + le kernel

Puis, dans After Effects :

  • Transport CEP (recommandé) — redémarrez After Effects. Le pont démarre tout seul, sans fenêtre. Fenêtre > Extensions > AE MCP Bridge affiche l'état, le port et le journal.

  • Transport ScriptUI (sans redémarrage)Fichier > Scripts > Exécuter le fichier de script… puis Documents/ae-mcp/AE MCP Bridge.jsx. Le panneau démarre la scrutation immédiatement.

Déclaration du serveur auprès du client MCP :

claude mcp add ae-mcp -- node "/chemin/vers/ae-mcp/build/index.js"

npm run install-bridge copie aussi le panneau dans Scripts/ScriptUI Panels des installations After Effects détectées, ce qui le rend dockable. Cette copie vit dans Program Files et demande des droits administrateur ; son échec est sans conséquence sur le reste.

Outils exposés

Outil

Rôle

ae_status

État du pont, version d'AE, projet, compositions

ae_help

Documentation : chemins de propriétés, matchNames, easings, formes, animateurs

ae_project

Inventaire, import (images, vidéos, PSD/AI en compo), dossiers, enregistrement

ae_comp

Créer, lire, régler, dupliquer, précomposer, marqueurs

ae_layer

Tous les types de calques, tous les attributs, lecture profonde

ae_property

Lire/écrire n'importe quelle propriété par chemin ; expressions

ae_keyframes

Keyframes avec courbes nommées, valeurs relatives, maintien, décalage

ae_text

Contenu et mise en forme du texte, animateurs de texte, polices

ae_shape

Arbres vectoriels natifs, tracés Bézier, conversion SVG

ae_effect

Recherche, application, réglage et animation des effets

ae_mask

Masques rectangle/ellipse/Bézier, modes, contour progressif

ae_animate

Presets d'animation prêts à l'emploi, séquençage (stagger)

ae_rig

Contrôles, liens par expression, alignement, parentage, Graphismes essentiels

ae_render

Capture d'image renvoyée dans la conversation, file de rendu

ae_ui

Commandes de menu natives, tête de lecture, sélection

ae_run

Accès brut à toutes les commandes du kernel, en lot avec références

ae_eval

ExtendScript arbitraire (dernier recours)

Ce qui distingue ce serveur

Des courbes de vitesse réelles. ease: "expo.out" ne pose pas un simple Easy Ease : la courbe de Bézier est convertie en influence et en vitesse par dimension, calculées à partir de la vitesse moyenne du segment — exactement ce qu'on obtient en réglant l'éditeur de graphe à la main.

Des valeurs relatives. Un slideIn s'exprime en mode: "offset" : l'animation se greffe sur la position existante du calque au lieu de l'écraser. Idem pour l'échelle avec mode: "multiply".

Le SVG devient de vraies formes. ae_shape action=svg convertit path, rect, circle, ellipse, line, polyline, polygon, les groupes et leurs transformations en calques de forme natifs, éditables, avec fills, strokes, pointillés et arcs approximés en Bézier.

Une boucle visuelle. ae_render action=snapshot rend une image de la composition et la renvoie directement : l'assistant compare son rendu à la référence et corrige, au lieu de travailler à l'aveugle.

Des lots atomiques avec références. Une scène entière se construit en un aller-retour, chaque étape pouvant réutiliser le résultat de la précédente via {{0.index}} ou {{prev.id}}.

Développement

npm run build          # kernel + TypeScript
npm run build:kernel   # kernel seul (vérifie aussi sa syntaxe)
node scripts/ae.mjs status                       # état du pont
node scripts/ae.mjs layer.list '{"comp":"Ma Compo"}'
node scripts/selftest.mjs                        # validation complète contre AE
node scripts/selftest.mjs --keep --only=shape    # sous-ensemble, compo conservée

Le kernel est découpé en modules dans host/kernel/ et concaténé en host/aemcp-kernel.jsx par scripts/build-kernel.mjs. Il doit rester compatible ES3 : pas de let/const, pas de Array.prototype.map, pas de JSON natif (un polyfill est fourni dans le prélude).

Dossier

Contenu

src/

Serveur MCP : outils, transport, easing, SVG, presets

host/kernel/

Sources du kernel ExtendScript

cep/

Extension CEP (panneau HTTP)

scriptui/

Panneau ScriptUI (pont de secours)

scripts/

Build, installation, CLI de diagnostic, tests

Dépannage

Symptôme

Cause probable

Aucun pont After Effects détecté

Le panneau n'est pas ouvert, ou AE est fermé.

Le panneau CEP n'apparaît pas dans le menu

PlayerDebugMode absent (relancer install-bridge) ou AE non redémarré.

Kernel introuvable

npm run install-bridge n'a pas été relancé après une modification du kernel.

Écriture de fichiers refusée

Préférences > Scripts et expressions > Autoriser les scripts à écrire des fichiers.

Nom d'effet introuvable

L'interface d'AE n'est pas en anglais : passez par matchName (ae_effect action=list).

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Build and run visual creative-production workflows from your AI agent.

  • Create and manage cinematic AI video renders through the Future Video Studio Agent API.

  • Make videos and docs with your AI agent — describe what you need, every output stays editable.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maximejacquart/ae-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server