Photoshop MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Photoshop MCP ServerList all layers in the current Photoshop document."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Photoshop MCP Server (AppleScript)
A Model Context Protocol (MCP) server that enables AI clients to control Adobe Photoshop on macOS through AppleScript. This project adapts the architecture from adb-mcp using native macOS automation instead of a Node.js proxy and UXP plugin.
Features
Document Operations: List open documents, retrieve document metadata (dimensions, resolution, aspect ratio)
Layer Management: List layers with hierarchy, rename layers, toggle visibility, adjust opacity and blend modes
Layer Organization: Create new pixel layers, duplicate layers, delete layers, reorder layers (top/bottom/up/down)
Document Control: Save documents, flatten all layers
MCP Compatible: Works with any MCP-compatible AI client (Claude Desktop, OpenAI Agent SDK, etc.)
Related MCP server: macOS Automator MCP Server
Requirements
macOS with AppleScript support
Adobe Photoshop 2026 or later
Python 3.10 or later
MCP-compatible client
Installation
1. Clone the repository
git clone https://github.com/<username>/photoshop-mcp.git
cd photoshop-mcp2. Create virtual environment
python3 -m venv venv
source venv/bin/activate3. Install dependencies
pip install mcp fastmcpConfiguration
Set the PHOTOSHOP_APPLICATION_NAME environment variable if your Photoshop installation has a different name:
export PHOTOSHOP_APPLICATION_NAME="Adobe Photoshop 2026"Default value is Adobe Photoshop 2026.
Usage
Start the MCP server
python3 photoshop_mcp.pyThe server communicates via stdio and exposes tools to MCP clients.
Available Tools
Tool | Description |
| Returns a list of open Photoshop documents with name, path, and modified status |
| Returns current document metadata: width, height, resolution, pixel aspect ratio |
| Returns all layers with id, name, type, visibility, opacity, blend mode, and nested children |
| Sets visibility of a layer by id |
| Updates opacity, blend mode, and visibility for a layer |
| Renames a layer by id |
| Creates a new art/pixel layer |
| Duplicates a layer by id |
| Deletes a layer by id |
| Moves a layer by id. Positions: TOP, BOTTOM, UP, DOWN |
| Returns pixel bounds of a layer |
| Flattens all layers into a single layer |
| Saves the current document |
Example Prompts
Once connected to an MCP client:
List all layers in the current Photoshop document.Rename layer 3 to "Background - Final".Set layer 5 to 50% opacity and multiply blend mode.Create a new layer named "Adjustment Layer" with 80% opacity.Architecture
AI Client <-> MCP Server (Python/FastMCP) <-> AppleScript <-> Adobe PhotoshopThis implementation replaces the Node.js proxy server and UXP plugin architecture from the original adb-mcp with direct AppleScript execution, reducing complexity and external dependencies.
Project Structure
photoshop-mcp/
photoshop_applescript.py # AppleScript wrappers for Photoshop operations
photoshop_mcp.py # FastMCP server exposing tools
pyproject.toml # Project metadata and dependencies
README.md # Documentation
ROADMAP.md # Development roadmapDevelopment
Running tests
python3 -c "
import sys
sys.path.insert(0, '.')
from photoshop_applescript import get_documents, get_layers
print(get_documents())
print(get_layers())
"Adding new tools
Add an AppleScript wrapper function in
photoshop_applescript.pyExpose it as an MCP tool in
photoshop_mcp.pyusing the@mcp.tool()decorator
Roadmap
Core layer editing (rename, visibility, opacity, blend mode)
Layer creation, duplication, deletion, reordering
Document info and document listing
Layer bounds retrieval
Save and flatten operations
Image export (PNG, JPG)
Layer image extraction
Place image into layer
Selection tools
Fill and delete selection
Adjustment layers
Text layers
Layer masks
License
MIT
Acknowledgments
Inspired by adb-mcp by Mike Chambers.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kapilthakare-cyberpunk/photoshop-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server