Photoshop MCP Elite
Click on "Deploy 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 Elite replace the sky with a sunset and remove the trash can from this photo"
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 Elite (photoshop-mcp-elite)
A high-performance, native Python Model Context Protocol (MCP) server for Adobe Photoshop on macOS.
Unlike legacy Node.js wrappers that rely on outdated 2010 PatchMatch algorithms and crash on ExtendScript ES3 syntax mismatches, photoshop-mcp-elite delivers:
True Adobe Firefly Generative AI Automation: Autonomously triggers Generative Fill and AI object removal via macOS accessibility bridges.
Intelligent Photographic Workflows: Includes automated Sky Replacement with atmospheric horizon haze and foreground relighting, precision distraction removal, and color harmony adjustments.
Bulletproof ES3 Engine: Embedded JSON2 polyfill and isolated ActionManager execution that completely prevents
JSON is undefinedand quote-escaping errors.Fast & Lightweight: Built on the official Python MCP SDK with sub-second execution speeds (0.1–0.3s).
🌟 Key Features
Category | Features |
Generative AI | Autonomous Adobe Firefly Generative Fill ( |
Photographic Workflows |
|
Adobe Sensei AI | One-shot AI |
Full Layer Suite | Non-destructive layer management, visibility, opacity, blend modes, duplication, merge, and flatten. |
Precision Selection | Rectangular, elliptical, feathering, boundary expansion/contraction, inversion, and bounds inspection. |
Adjustments | Curves (auto/points), Levels, Brightness/Contrast, Hue/Saturation, Desaturate, Invert, Gaussian Blur. |
Document Management | Info query, document list, open image, save, and high-fidelity export as JPEG/PNG. |
Related MCP server: Photoshop MCP Server
🚀 Quickstart
Prerequisites
macOS with Adobe Photoshop (Photoshop 2024, 2025, or 2026 recommended)
uv (recommended) or Python 3.12+
1. Clone the Repository
git clone https://github.com/baramesh/photoshop-mcp-elite.git
cd photoshop-mcp-elite2. Install Dependencies
Using uv:
uv sync3. Grant Accessibility Permissions (For Autonomous Generative AI)
To allow the server to autonomously trigger Adobe Firefly without requiring manual clicks on the Contextual Task Bar:
Open System Settings on macOS.
Navigate to Privacy & Security > Accessibility.
Toggle ON for your terminal or MCP host app (e.g., Terminal, iTerm2, Claude Desktop, Cursor, or Antigravity).
🧠 AI Agent Skill (SKILL.md)
This repository includes a ready-to-use Agent Skill in skill/SKILL.md for AI coding assistants and autonomous agents (e.g., Antigravity, Claude Code, Cursor):
Photographic Intelligence: Guides agents on how to assess lighting direction, color temperature, and atmospheric horizon haze before editing.
Firefly & Inpainting Rules: Instructs agents when to avoid naive Content-Aware Fill and how to use autonomous Generative Fill with surgical selections.
Non-Destructive Standard: Enforces layer labeling and non-destructive retouching practices.
To install the skill in your local Antigravity / Agent configuration:
mkdir -p ~/.gemini/config/skills/photoshop-mcp-elite
cp skill/SKILL.md ~/.gemini/config/skills/photoshop-mcp-elite/⚙️ MCP Configuration
Add photoshop to your client configuration:
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"photoshop": {
"command": "/Users/YOUR_USERNAME/.local/bin/uv",
"args": [
"run",
"--directory",
"/path/to/photoshop-mcp-elite",
"python",
"server.py"
]
}
}
}Cursor / Windsurf / Antigravity (mcp_config.json)
{
"mcpServers": {
"photoshop": {
"command": "/Users/YOUR_USERNAME/.local/bin/uv",
"args": [
"run",
"--directory",
"/path/to/photoshop-mcp-elite",
"python",
"server.py"
]
}
}
}🛠️ Tool Catalog (47 Tools)
Generative AI & Smart Workflows
photoshop_generative_fill_ai: Autonomously trigger Adobe Firefly on the current selection with an optional prompt.photoshop_generative_remove_ai: Autonomously remove multiple bounding-box regions using Firefly AI.photoshop_harmonize_sky: Sensei sky selection + replacement + horizon atmospheric haze + foreground ambient light matching.photoshop_smart_remove_distractions: Multi-region precision removal with expansion + feathering on a non-destructive Retouch layer.photoshop_match_lighting_and_tone: Photo-wide color harmony and contrast adjustment.
Pro Hollywood & Design Capabilities (New 🚀)
photoshop_apply_camera_raw_filter: Direct Adobe Camera Raw engine controls (Exposure, Contrast, Highlights, Shadows, Clarity, Dehaze, Vibrance, Saturation, Temperature, Tint).photoshop_create_adjustment_layer: Creates true non-destructive Adjustment Layers (curves,hue_saturation,levels,brightness_contrast,vibrance,black_and_white).photoshop_convert_to_smart_object: Wraps active or selected layers into a Smart Object for non-destructive filter stacks.photoshop_add_text_layer: Creates vector Typography text layers with custom fonts, point size, hex colors, and alignment.photoshop_apply_layer_style: Applies layer effects (FX) including Drop Shadow (opacity, distance, blur) and Stroke (color, size).
Sensei AI & Selections
photoshop_select_sky: Adobe Sensei AI sky contour isolation.photoshop_select_subject: Adobe Sensei AI subject auto-cutout.photoshop_select_rectangle,photoshop_select_ellipse,photoshop_select_all,photoshop_deselect,photoshop_invert_selection.photoshop_feather_selection,photoshop_expand_selection,photoshop_contract_selection.photoshop_get_selection_bounds.
Document & Layers
photoshop_get_document_info,photoshop_list_documents,photoshop_open_image,photoshop_save_document,photoshop_export_as.photoshop_get_layers,photoshop_create_layer,photoshop_select_layer_by_name,photoshop_duplicate_layer,photoshop_delete_layer.photoshop_set_layer_visibility,photoshop_set_layer_opacity,photoshop_merge_visible_layers,photoshop_flatten_image.
Adjustments & Filters
photoshop_adjust_brightness_contrast,photoshop_adjust_curves_auto,photoshop_adjust_hue_saturation.photoshop_auto_levels,photoshop_auto_contrast,photoshop_desaturate,photoshop_invert,photoshop_apply_gaussian_blur.
Custom ExtendScript
photoshop_execute_custom_jsx: Direct raw ES3 ExtendScript execution with built-in JSON serialization.
🏛️ Architecture
AI Client (Claude / Cursor / Antigravity)
│ (MCP JSON-RPC over stdio)
▼
photoshop-mcp-elite (Python 3.12 / FastMCP)
├── core/bridge.py (AppleScript / JSX Execution Engine)
├── core/vision.py (Pillow / Luminance & Warmth Analyzer)
├── tools/workflows.py (Autonomous Firefly & Sky Harmonization)
└── tools/*.py (Document, Layer, Selection, Adjustment)
│
▼ AppleScript (osascript) & System Events
Adobe Photoshop 2026 Core Engine📄 License
MIT License. See LICENSE for details.
Available Tools
47 toolsphotoshop_add_text_layerC
Create a vector typography Text Layer in the active document.
Inputs: text (required), x_px, y_px, color_hex, +3 more. Returns: object
photoshop_adjust_brightness_contrastC
Adjust brightness and contrast of the active layer (-100 to 100).
Inputs: contrast, brightness. Returns: object
photoshop_adjust_curves_autoA
Apply Auto Curves to the active layer.
Inputs: no named parameters. Returns: object
photoshop_adjust_hue_saturationC
Adjust Hue, Saturation, and Lightness of the active layer.
Inputs: hue, lightness, saturation. Returns: object
photoshop_apply_camera_raw_filterC
Apply professional Adobe Camera Raw Filter with exposure, clarity, dehaze, temperature, and vibrance controls.
Inputs: tint, dehaze, clarity, shadows, +6 more. Returns: object
photoshop_apply_gaussian_blurC
Apply Gaussian Blur filter to the active layer.
Inputs: radius (required). Returns: object
photoshop_apply_layer_styleC
Apply Layer Styles (FX) like Drop Shadow and Stroke to the active layer.
Inputs: stroke, drop_shadow, shadow_size, stroke_size, +3 more. Returns: object
photoshop_auto_contrastB
Apply Auto Contrast to the active layer.
Inputs: no named parameters. Returns: object
photoshop_auto_levelsB
Apply Auto Levels to the active layer.
Inputs: no named parameters. Returns: object
photoshop_content_aware_fillB
Fill the active selection using Content-Aware Fill.
Inputs: no named parameters. Returns: object
photoshop_contract_selectionC
Contract the active selection inwards by specified pixels.
Inputs: pixels (required). Returns: object
photoshop_convert_to_smart_objectB
Convert the active layer or selected layers into a Smart Object.
Inputs: no named parameters. Returns: object
photoshop_create_adjustment_layerB
Create a non-destructive Adjustment Layer (curves, hue_saturation, levels, brightness_contrast, vibrance).
Inputs: name, adj_type. Returns: object
photoshop_create_layerC
Create a new art layer with specified name and opacity.
Inputs: name, opacity, blend_mode. Returns: object
photoshop_delete_layerB
Delete the currently active layer.
Inputs: no named parameters. Returns: object
photoshop_desaturateA
Desaturate active layer to black and white.
Inputs: no named parameters. Returns: object
photoshop_deselectA
Deselect active selection.
Inputs: no named parameters. Returns: object
photoshop_duplicate_layerC
Duplicate a layer (or active layer) with an optional new name.
Inputs: name, new_name. Returns: object
photoshop_execute_custom_jsxC
Execute raw ES3 ExtendScript code directly inside Photoshop with full JSON serialization.
Inputs: script (required). Returns: object
photoshop_expand_selectionA
Expand the active selection outwards by specified pixels.
Inputs: pixels (required). Returns: object
photoshop_export_asC
Export the active document as PNG or JPEG.
Inputs: file_path (required), quality, format_type. Returns: object
photoshop_feather_selectionC
Feather the edge of the active selection by radius pixels.
Inputs: radius (required). Returns: object
photoshop_flatten_imageA
Flatten all layers into a single background layer.
Inputs: no named parameters. Returns: object
photoshop_generative_fill_aiC
Autonomously triggers Adobe Firefly Generative Fill on the active selection.
Inputs: prompt, wait_completion. Returns: object
photoshop_generative_remove_aiC
Autonomously removes regions using Adobe Firefly Generative Fill.
Inputs: regions (required), feather_px. Returns: object
photoshop_get_document_infoA
Get metadata about the currently active Photoshop document (dimensions, color mode, layers count, active layer).
Inputs: no named parameters. Returns: object
photoshop_get_layersA
Get list, visibility, opacity, blend modes, and pixel bounds of all layers in the active document.
Inputs: no named parameters. Returns: object
photoshop_get_selection_boundsA
Get pixel bounds [left, top, right, bottom] of the current selection.
Inputs: no named parameters. Returns: object
photoshop_harmonize_skyA
Seamlessly replaces and harmonizes sky: 1. Uses Sensei AI Select Sky for precise architectural contour isolation. 2. Places and scales replacement sky image. 3. Adds atmospheric horizon haze gradient layer to blend background naturally. 4. Automatically relights foreground subjects with warm ambient light to match the sky.
Args:
sky_image_path: Local path to sky replacement image.
haze_opacity: Opacity percentage (0-100) for horizon atmospheric haze.
sky_opacity: Opacity percentage (0-100) for sky layer.
warm_foreground: If True, warms non-sky foreground subjects with light tone curve matching.
Inputs: sky_image_path (required), sky_opacity, haze_opacity, warm_foreground. Returns: object
photoshop_invertB
Invert colors of the active layer.
Inputs: no named parameters. Returns: object
photoshop_invert_selectionB
Invert the active selection.
Inputs: no named parameters. Returns: object
photoshop_list_documentsA
List all open documents in Photoshop with their IDs and names.
Inputs: no named parameters. Returns: object
photoshop_match_lighting_and_toneC
Harmonizes lighting, contrast, and color vibrance across the entire composite.
Inputs: target_mood, contrast_amount, saturation_boost. Returns: object
photoshop_merge_visible_layersB
Merge all visible layers into one composite layer.
Inputs: no named parameters. Returns: object
photoshop_open_imageA
Open an image file from the filesystem into Photoshop.
Inputs: file_path (required). Returns: object
photoshop_redoA
Redo the last undone action in Photoshop.
Inputs: no named parameters. Returns: object
photoshop_save_documentB
Save the active document, optionally specifying a new path.
Inputs: file_path. Returns: object
photoshop_select_allB
Select entire canvas area.
Inputs: no named parameters. Returns: object
photoshop_select_ellipseC
Create an elliptical selection with optional feathering.
Inputs: top (required), left (required), right (required), bottom (required), +1 more. Returns: object
photoshop_select_layer_by_nameB
Select a layer by name to make it active.
Inputs: name (required). Returns: object
photoshop_select_rectangleC
Create a rectangular pixel selection [left, top, right, bottom] with optional feathering.
Inputs: top (required), left (required), right (required), bottom (required), +1 more. Returns: object
photoshop_select_skyA
Use Adobe Sensei AI to automatically detect and select the sky region.
Inputs: no named parameters. Returns: object
photoshop_select_subjectB
Use Adobe Sensei AI to automatically detect and select the primary subject(s).
Inputs: sample_all_layers. Returns: object
photoshop_set_layer_opacityB
Set the opacity percentage (0-100) of a layer by name.
Inputs: name (required), opacity (required). Returns: object
photoshop_set_layer_visibilityC
Show or hide a layer by name.
Inputs: name (required), visible (required). Returns: object
photoshop_smart_remove_distractionsA
Smartly removes unwanted people or background distractions. Combines context expansion + edge feathering + Content-Aware Fill on a non-destructive Retouch layer.
Args:
regions: List of [left, top, right, bottom] bounding boxes in pixels.
feather_px: Feather edge softness in pixels (default 2.5).
expand_px: Context expansion in pixels to eliminate halo artifacts (default 6).
create_backup_layer: If True, preserves the original layer and performs retouching on a duplicated layer.
Inputs: regions (required), expand_px, feather_px, create_backup_layer. Returns: object
photoshop_undoB
Undo the last action in Photoshop.
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 47 tools
Most tools have distinct purposes, but there is some overlap among selection manipulation tools (e.g., feather_selection, expand_selection, contract_selection), adjustment tools (adjust_brightness_contrast vs. adjust_hue_saturation vs. apply_camera_raw_filter), and removal tools (content_aware_fill vs. smart_remove_distractions vs. generative_remove_ai). Descriptions help distinguish them, but an agent might struggle to choose the right one without careful reading. The presence of a catch-all execute_custom_jsx tool adds ambiguity.
All tools follow a consistent snake_case naming pattern with a clear verb_noun structure (e.g., select_all, duplicate_layer, adjust_brightness_contrast). The 'photoshop_' prefix is uniformly applied.
With 47 tools, this server is very heavy for a Photoshop automation domain. While the breadth of features is impressive, such a large number increases the risk of misselection and makes it harder for an agent to navigate efficiently. Some tools could be consolidated (e.g., multiple selection expansion operations).
The tool surface covers a wide range of Photoshop operations: document management, layer manipulation, selections, adjustments, filters, AI features, and even custom script execution. There are minor gaps like missing specific layer management (reorder, group) and some common filters, but overall it provides comprehensive coverage for advanced workflows.
Related MCP Connectors
Build and run visual creative-production workflows from your AI agent.
Search photos and video moments by visual meaning, people, dates, and folders across local libraries, Apple Photos, and OneDrive. Manage collections, groups, favorites, people, and duplicate review. Synced metadata remains searchable while the desktop is offline; local and Apple Photos media access needs the owning device online with remote access enabled. OneDrive media can be accessed directly from the cloud. OAuth or Bearer API keys. Paid Cloud Access required; hosted visual search uses prepaid credits. Text-in-image search is semantic matching, not guaranteed exact OCR. Setup: https://organizewith.ai/en/guides/connect-ai-assistants
Build and run agents and automations across hundreds of apps using natural language.
Convert, create and edit Word, PowerPoint, Excel and PDF documents from any AI agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to control Adobe Photoshop programmatically, supporting recipe workflows, state awareness, and generative AI features through natural language commands.1287,249 npm817MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control Adobe Photoshop programmatically through natural language, with state awareness, recipe tools, and a standalone UI.7,249 npmMIT
- AlicenseCqualityBmaintenanceEnables natural-language control of Adobe Photoshop 2026 through a local, capability-gated MCP server and UXP bridge, supporting document editing, command execution, and safe automation with automatic approvals and validation.202MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control Adobe Photoshop through natural-language requests for tasks like background removal, portrait retouching, web and social export, carousel creation, and batch watermarking. This privacy-focused fork supports a local, free Ollama provider so prompts and images can be processed without an API key or cloud account.7,249 npmMIT