SyntheticSynthetic/文档
产品更新日志
控制台 →

After Effects MCP · 高级

学习循环 — 让 MCP 随您的工作流共同成长

AE MCP 提供了 220 多个工具。在使用过程中,它会记录您重复运行且结构相同的 JSX 代码片段 —— 您(或 Claude)可以将这些模式提升为具有正确架构和参数的新 MCP 工具,无需重新构建,也无需重启 After Effects。这是 Synthetic 独有的系统,其他 Adobe MCP 均不具备。

为什么这很重要

  • · 减少 Token 消耗。 Claude 通过调用带有 2 个参数的工具,而非生成 30 行 JSX 代码来完成操作。
  • · 减少错误。 使用经过验证的 Schema,而非每次都从零开始生成 JSX。
  • · 从实际使用中学习。 被提升为模式的是您实际重复操作的行为。
  • · 100% 可逆。 它只是您电脑上的一个 JSON 文件。删除一行,该工具即被移除。

工作原理

run_jsx_json ─▶ journal.jsonl ─▶ analyze.mjs ─▶ (tú eliges) ─▶ promote.mjs ─▶ wrappers.json
   JSX libre        cada llamada     detecta shapes                    template       tool nuevo
                                     repetidos +                       JSON           vivo al reconectar
                                     params candidatos                                el cliente MCP

四个步骤,完全本地运行:

1. 自动日志记录

每当 MCP 客户端调用工具时,服务器都会向 ~/.synthetic-ae-mcp/journal.jsonl 追加一行记录。调用 run_jsx / run_jsx_json 时会存储完整代码(这些是候选对象);其他调用仅存储工具名称 + 参数键(不含有效负载)。日志记录采用尽力而为机制:如果写入失败,工具调用仍会正常完成。

2. 分析:寻找重复模式

# desde el repo del MCP (clonado o vía npx)
node scripts/analyze.mjs              # reporte human-readable
node scripts/analyze.mjs --json       # output JSON para scripting
node scripts/analyze.mjs --min 3      # subir el umbral (default 2)

分析器会对 JSX 进行规范化处理(删除注释,将字符串和数字替换为 Token),按签名进行分组,并针对出现次数 ≥2 次的每个形状报告:运行次数、哪些字面量位置发生了变化(即参数)以及代码示例。

3. Promote: create the new tool

定义一个包含名称 + 模板 + 参数类型的 JSON 规范。示例:一个为所有名称包含特定子字符串的合成设置 frameRate=X 的工具:

{
  "name": "ae_set_framerate_batch",
  "description": "为所有名称包含 <pattern> 的合成设置 frameRate。",
  "code": "var n = 0; for (var i = 1; i <= app.project.numItems; i++) { var it = app.project.item(i); if (it instanceof CompItem && it.name.indexOf({{pattern}}) >= 0) { it.frameRate = {{fps}}; n++; } } __write({ ok: true, updated: n });",
  "params": [
    { "name": "fps",     "type": "number", "required": true,  "description": "目标帧速率" },
    { "name": "pattern", "type": "string", "required": false, "default": "", "description": "合成名称中要匹配的子字符串(为空则匹配所有)" }
  ]
}
node scripts/promote.mjs spec.json
# OK promoted 'ae_set_framerate_batch' (2 params) -> ~/.synthetic-ae-mcp/wrappers.json
# Reconnect the MCP (or restart the client) to see the new tool.

4. 即时生效:工具出现在您的客户端中

服务器在每次执行 tools/list 时都会重新读取 wrappers.json。重新连接 Claude Desktop / Cursor / Codex 后,ae_set_framerate_batch(fps, pattern) 将像任何原生工具一样可用,并带有完整的 MCP 架构。当 Claude 调用它时,服务器会填充模板并通过 run_jsx_json 发送 —— 无需更改架构,无需重新构建。

参数类型

类型渲染为 JSX
stringJSON 转义字符串:"hello" → "hello"
number数字字面量:24 → 24
booleantrue / false
arrayJSON 字面量:[1,2,3] → [1,2,3]
objectJSON 字面量:{"a":1} → {"a":1}
raw原样插入(高级)

隐私与安全性

  • · 所有数据均为本地存储:~/.synthetic-ae-mcp/ 是您电脑上的一个文件夹。没有任何内容会被上传。
  • · 日志会记录包含完整代码的 run_jsx[_json] 调用。其他工具仅记录名称 + 参数键(不含值)。
  • · 如需更改文件夹:请在 MCP 配置中设置 AE_MCP_DATA_DIR。
  • · 如需重置:请删除 ~/.synthetic-ae-mcp/。
自 AE MCP v2.2.0 起可用 — npx 会自动更新,您无需执行任何操作。如果您已经是客户,该功能将在下次启动 Claude Desktop 时可用。