
Adobe Mcp
io.github.AJSMonty由 GitHub 账号 AJSMonty 发布v1.1.1更新于 Oct 24, 2026
Drive Adobe CC (AE, Photoshop, Illustrator, Premiere, Character Animator) from any MCP client
概览
在 macOS 上通过 MCP 客户端驱动 Adobe Creative Cloud 应用(After Effects、Photoshop、Illustrator、Premiere)以及 Blender 和 Substance 3D Painter。
- 可以做什么
- 在 Adobe 应用中运行 ExtendScript/JSX,读取项目状态,渲染帧和动画并以行内图像返回,还可执行脚本库中的脚本。另提供 Blender 与 Substance 3D Painter 桥接,用于 3D 外观开发、从 CC0 素材库搜索和下载贴图,并带有可搜索、可新增的脚本经验知识库。
- 适用场景
- 适合让助手编写或检查 Adobe CC 项目脚本、渲染预览帧以便视觉确认,或跨 Blender、Substance Painter 与 After Effects 执行 3D 外观开发与合成流程。
- 运行要求
- 仅限 macOS 桌面端。可使用面向 Claude Desktop 的一键 .mcpb 安装包,或安装 Node 18+ 后用 npx @ajsmonty/adobe-mcp 接入任意 stdio MCP 客户端。目标 Adobe 应用需已安装并打开;After Effects 需启用脚本写入文件与网络访问。可选环境变量:ADOBE_MCP_WORKSPACE、AE_APP_NAME、BLENDER_MCP_PORT、BLENDER_PATH、SUBSTANCE_PAINTER_PORT、POLYHAVEN_API、AMBIENTCG_API。每个宿主应用会单独弹出 macOS 自动化权限提示。
安装
在 SourceWeft 中
- 打开 控制台中的 Adobe Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
adobe-mcp — Adobe Creative Cloud MCP server (macOS)
Drives After Effects, Photoshop, Illustrator, Premiere Pro (and Character Animator puppet authoring) from Claude, plus Blender and Substance 3D Painter for 3D look-dev and cinematic animation. See ROADMAP.md for the full tool matrix and what is next.
Bridge: MCP client → this server → AppleScript DoScript → AE → temp result file → back.
Tools
3D & cinematic VFX pipeline (Blender + Substance 3D Painter)
Two Python bridges extend the server beyond ExtendScript so one agent can take a shot from blocking to final composite:
Free CC0 texture & HDRI libraries (Poly Haven, ambientCG): everything both publish is public domain, so it's free for commercial work with no attribution.
The downloaded folder also works as texture_dir for Creature_Walk_Cinematic.py. Set
POLYHAVEN_API / AMBIENTCG_API to point at a mirror if you need to.
Library scripts (run with run_script, parameters via params):
scripts/blender/Creature_Walk_Cinematic.py: a heavy-biped walk timed from physics. Speed comes from the Froude number, stride from Alexander (1976), and feet stay planted with zero slide. The neck and tail lag 3 frames per joint, the head is gaze-stabilised and turns toward the lens, and the chest breathes. The camera is a handheld rig with operator lag and footfall impact shake. The render setup is Cycles with a 180° shutter, a shadow catcher, and beauty/shadow/mist PNG sequences plus a multilayer EXR. Tested headless against Blender 5.0.1 (bpy); it also handles the 4.x APIs.scripts/substance/Creature_Skin_LookDev.py: optional bake, then a matte "aged scales" base, a cavity-masked wetness layer, and glossy eye/mouth sets, all in one undo step. Optional export.scripts/ae/Cinematic_3D_Composite.jsx: imports the passes, multiplies the shadow, adds a precomped edge light wrap, depth haze from mist, an optional depth lens blur, CG softening, and grain on the CG only.
Setup:
- Blender live mode: Edit → Preferences → Add-ons → Install from Disk →
bridges/blender/adobe_mcp_bridge.py, then enable it (listens on127.0.0.1:9877; override withBLENDER_MCP_PORT). Background mode needs no add-on; it finds/Applications/Blender*.apporblenderonPATH(override withBLENDER_PATH). - Substance 3D Painter: launch with remote scripting enabled:
open -a "Adobe Substance 3D Painter" --args --enable-remote-scripting(port override:SUBSTANCE_PAINTER_PORT). - Both bridges are local-only and unauthenticated: anything on the machine that can reach the port can run Python in the app. Disable the Blender add-on or quit Painter when you're done.
Knowledge system (the server learns as it goes)
The server ships with a curated knowledge base (knowledge/lessons.jsonl) seeded from real
production sessions — matchName gotchas, API quirks, parameter-type traps, and techniques
(blueprint line extraction, seamless wind loops, QE transitions, Auto Reframe...).
Three mechanisms keep it useful and growing:
- Auto-surfaced gotchas — every failed
*_run_extendscriptcall is matched against the lesson keywords; hits are appended to the error message the client sees (e.g. hitIllegal Parameter typein Premiere and the fix forautoReframeSequence's string preset arrives with the error). Failures are also logged to$WORKSPACE/error-log.jsonlas raw material for new lessons. knowledge_search/knowledge_addtools — agents consult lessons before attempting unusual scripting, and record new gotchas when they solve one that wasn't auto-suggested. Runtime lessons persist to$WORKSPACE/learned.jsonl(survives repo updates, per-install).- Server instructions + tool descriptions — the highest-value rules (explicit document targeting, visual verification, render-timeout handling, ES3 limits) are baked into the MCP instructions and the per-tool descriptions, so a fresh install starts smart.
The scripts/ per-app libraries are the executable side of the same idea — distilled,
reusable skills (list_scripts / run_script): blueprint line extraction (PS), seamless
wind loops and kinetic typography rigs (AE), one-call vertical Auto Reframe (Premiere).
Install
Option A — one-click for Claude Desktop & Cowork (no Node needed)
- Have the Adobe apps you want to drive installed. In After Effects, enable Preferences → Scripting & Expressions → "Allow Scripts to Write Files and Access Network".
- Download the latest
adobe-mcp-x.y.z.mcpbfrom Releases and double-click it (or drag it onto Claude Desktop → Settings → Extensions). Claude Desktop bundles its own Node runtime — nothing else to install. - Use it. The first tool call for each app triggers a one-time macOS Automation permission prompt — click Allow.
Upgrading? Remove the old version first (Settings → Extensions → Adobe Creative Cloud → Uninstall), then install the new .mcpb — in-place installs over an existing version can leave stale files behind while reporting the new version number.
Option B — any MCP client via npm
Requires Node 18+ installed system-wide (nodejs.org installer or brew install node — note GUI apps often cannot see nvm-managed installs). No clone, no npm install: every client config below just runs
Option C — from source (contributors)
Premiere Pro only: the ppro_* tools need the bundled CEP panel installed once — copy cep/mcp-bridge to ~/Library/Application Support/Adobe/CEP/extensions/ and enable PlayerDebugMode (see Notes), then open Window → Extensions → MCP Bridge inside Premiere.
Hook up to your MCP client
This is a standard stdio MCP server — any MCP-capable client can drive it (Claude Code,
Claude Desktop, Cursor, Windsurf, VS Code Copilot agent mode, Zed, Cline, Goose, ...).
Everything below is the same one-liner expressed in each client's config format:
run npx -y @ajsmonty/adobe-mcp over stdio (or node .../server.mjs for a source checkout).
Claude Code
--scope user = available in all projects; use --scope project from inside a repo to share via .mcp.json with your team. Verify: claude mcp list.
Claude Desktop
Settings → Developer → Edit Config, add to claude_desktop_config.json:
Fully quit and reopen Claude Desktop.
Cursor
Settings → MCP → Add server, or edit ~/.cursor/mcp.json (global) / .cursor/mcp.json (per-project):
Enable it under Settings → MCP, then use Agent mode (composer) — tool calls appear with approval prompts.
VS Code (Copilot agent mode)
.vscode/mcp.json in the workspace (or user mcp.json via the "MCP: Add Server" command):
Windsurf
~/.codeium/windsurf/mcp_config.json — same mcpServers shape as Claude Desktop/Cursor above.
Anything else
If the client supports MCP over stdio, point it at npx -y @ajsmonty/adobe-mcp and you are done.
Client caveats
- macOS Automation permission is per host app. The first tool call from each new client (Cursor, VS Code, a different terminal) triggers its own Automation prompt for controlling the Adobe apps — approve it once per host in System Settings → Privacy & Security → Automation.
- Inline image previews (
ae_save_frame,ps_save_preview,ai_save_preview,ppro_save_frame) return MCP image content. Claude clients and Cursor render these inline; clients without image rendering still get the metadata text, and the model can fall back to exporting a file and reading it from disk. - Server instructions (the working rules + knowledge-base pointers) are sent via the MCP
instructionsfield; most clients pass them to the model, but if yours does not, the same rules are baked into the tool descriptions andknowledge_search.
Script library ("skills")
Drop .jsx / .jsxbin files into scripts/ — they're immediately available via list_ae_scripts / run_ae_script.
- Action scripts (operate on the current selection, no UI) run headlessly — set up selection first via
run_extendscript. - ScriptUI panel scripts open their palette in the AE window for a human to click.
- Plain
.jsxpanels with a separable core function can often be driven headlessly by evaluating the source with the UI kickoff stripped.
⚠️
scripts/may contain third-party/purchased tools. Keep this repo private unless you've cleared redistribution rights, or addscripts/to.gitignore.
Notes
- AE app auto-detected from
/Applications(newest "Adobe After Effects *"). Override with env varAE_APP_NAME, e.g."env": {"AE_APP_NAME": "Adobe After Effects 2025"}in the Desktop config or--env AE_APP_NAME=...inclaude mcp add. - AE must be open with a project (the empty default project is fine).
- Timeouts usually mean AE is showing a modal dialog — dismiss it.
save_frameneeds AE 2022+.
ExtendScript gotchas (learned the hard way)
- ExtendScript is ES3: no arrow functions, template literals,
let/const,JSON,Array.map. - Collections (
project.items,comp.layers, property groups) are 1-indexed. - Address effect params by matchName (
"ADBE Glo2-0002"), not display name — display names collide. - A
.property()miss throws a native error whose own stringification throws — wrape.toString()in its own try/catch or your error handler dies too. - Text layers auto-rename to their source text — rename them if you need stable lookups.
- Cameras: Point of Interest lives in the Anchor Point slot (
ADBE Anchor Point). - Spatial properties need 1-element ease arrays in
setTemporalEaseAtKey, regardless of dimensions. - Parenting a child to a rotated layer bakes compensation into the child's transform — zero the child's rotation after parenting if it should inherit orientation.
- Grid effect: set Size From (
ADBE Grid-0002 = 3) before animating the anchor, or your "scroll" resizes cells instead.
Smoke test
With AE open, ask Claude: "Use get_project_state to show me what's in my AE project, then create a 1920x1080 comp called 'Test' with a headline text layer and show me a frame."
Contributing & governance
PRs welcome — see CONTRIBUTING.md. All merges to main and dev require
maintainer approval (branch protection + CODEOWNERS). Lessons for the knowledge base are the
easiest high-value contribution. Read SECURITY.md before installing: this
server executes scripts in your Adobe apps by design.
License
来源:README.md,提交 04aee5e
工具
0版本历史
1- v1.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分