This project is a comprehensive Model Context Protocol (MCP) server system designed to control Adobe Creative Suite applications (Photoshop, Premiere Pro, Illustrator, InDesign, Acrobat) via AI agents. It enables natural language interaction with complex creative software.
The project is structured around a 3-tier architecture to bridge the gap between external AI agents and local Adobe desktop applications:
- MCP Servers (Python): act as the interface for AI agents (like Gemini or Claude). They translate natural language intent into structured commands.
- Proxy Server (Node.js/Python): Manages WebSocket connections to the Adobe applications, handling command routing and event listening.
- UXP Plugins (JavaScript): specialized plugins installed within each Adobe application that execute the actual commands via the Adobe API.
A parallel Rust implementation (adobe-mcp-rs) exists, specifically targeting Acrobat and potentially offering a higher-performance bridge in the future.
adobe-mcp-unified/: The main Python-based implementation.adobe_mcp/: Source code for the MCP servers (photoshop,premiere,illustrator,indesign).proxy-server/: Node.js WebSocket proxy (bridging MCP to UXP).uxp-plugins/: Source code for the Adobe UXP plugins.tests/: Python test suite.
adobe-mcp-rs/: Rust workspace for native implementations (currently focused on Acrobat).scripts/: Global utility scripts (e.g.,setup-adobe-agents.sh).
- Python 3.10+
- Node.js 18+
- Rust (cargo) - if working on
adobe-mcp-rs - Adobe Creative Cloud Apps (Photoshop v26+, Premiere v25+, etc.)
- Adobe UXP Developer Tools
Navigate to adobe-mcp-unified and use the provided scripts:
- Windows:
Or manually:
.\install.ps1
pip install -e .andnpm installinproxy-server.
The proxy is required for communication with UXP plugins.
# From adobe-mcp-unified/
adobe-proxy
# OR
node proxy-server/proxy.jsEach application has its own MCP entry point:
adobe-photoshop
adobe-premiere
adobe-illustrator
adobe-indesignNote: Illustrator implementation currently includes a built-in proxy.
Use Adobe UXP Developer Tools to load the plugin manifest from adobe-mcp-unified/uxp-plugins/{app}/manifest.json into the target application.
- Run all tests (Windows):
.\adobe-mcp-unified\run-tests.ps1 - Python Tests:
pytestinsideadobe-mcp-unified
This project utilizes a multi-agent development strategy (detailed in MULTI_AGENT_PLAN.md). Key concepts:
- Specialized Agents: Work is divided among agents like "UXP Research", "Premiere Dev", and "Infrastructure".
- Worktrees: Development often happens in dedicated git worktrees (e.g.,
../adobe-mcp-premiere). - Coordination: A central plan tracks task distribution.
For adobe-mcp-rs:
- Build:
cargo build - Test:
cargo test
adobe-mcp-unified/pyproject.toml: Python dependencies and entry points.adobe-mcp-rs/Cargo.toml: Rust workspace members.MULTI_AGENT_PLAN.md: Strategic roadmap for the multi-agent development process.