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 |
|---|---|
| string | JSON 转义字符串:"hello" → "hello" |
| number | 数字字面量:24 → 24 |
| boolean | true / false |
| array | JSON 字面量:[1,2,3] → [1,2,3] |
| object | JSON 字面量:{"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 时可用。