Skip to main content
Glama

Photoshop MCP Server

A Model Context Protocol (MCP) server that lets AI assistants (Claude, opencode, Cursor, etc.) drive Adobe Photoshop on Windows through ExtendScript + COM automation.

Built for Photoshop 2020 (v21.x) but compatible with newer versions. ~122 tools covering documents, layers, text, filters, color adjustments, selections & masks, layer styles, export, layout analysis, design QA, and Photoshop state introspection.

Unofficial community project. Not affiliated with or endorsed by Adobe.

How it works

MCP client (opencode/Claude) 
   → Node MCP server (server.js, stdio)
   → bridge.ps1 (PowerShell)
   → Photoshop COM (Application.DoJavaScriptFile)
   → ExtendScript DOM
  • ExtendScript, not UXP — external automation via COM can only use ExtendScript, which works on all Photoshop versions (2012–2025+). UXP is for in-process plugins and cannot be invoked externally.

  • Unicode-safe — non-ASCII text (e.g. £, ) is escaped to \uXXXX in generated JSX and a UTF-8 BOM is prepended, so prices/accents round-trip correctly.

  • Retry on busy — transient COM RPC_E_SERVERCALL_RETRYLATER ("application is busy") errors are retried with backoff.

Related MCP server: ImageMcp

Requirements

  • Windows

  • Adobe Photoshop installed (tested on PS 2020 / v21.2)

  • Node.js 18+

Install

npm install

Configure as an MCP server

Add to your MCP client config (e.g. ~/.config/opencode/opencode.jsonc, Claude Desktop, Cursor):

{
  "mcpServers": {
    "photoshop": {
      "command": "node",
      "args": ["C:\\path\\to\\photoshop-mcp\\server.js"]
    }
  }
}

Restart your MCP client after changes so the updated tool list loads.

Tool highlights

Area

Tools

Documents

create_document, open_image, save_psd, export_image, export_as, crop_document, resize_image, close_document, generate_variants

Layers

create_layer, add_text, add_text_box, add_rectangle, add_image, place_image, duplicate_layer, delete_layer, rename_layer, rasterize_layer, group_layers, merge_visible_layers, flatten_image, opacity / blend mode / visibility / lock

Layer ops

move_layer, resize_layer, rotate_layer, move_layer_up/down/to_position, fit_layer_to_document, align_layers, distribute_layers, center_in_canvas, snap_to_safe_area

Text

list_fonts, check_font_available, set_font, set_color, set_text_alignment, update_text_content, fit_text, fit_text_to_box

Filters

apply_gaussian_blur, apply_sharpen, apply_noise, apply_motion_blur

Color

adjust_brightness_contrast, adjust_hue_saturation, auto_levels, auto_contrast, desaturate_layer, invert_layer, adjust_curves, apply_lut, adjust_vibrance, adjust_exposure, apply_photo_filter, apply_gradient_map

Selections & masks

select_rectangle, select_all, deselect, invert_selection, create_layer_mask, delete_layer_mask, apply_layer_mask, apply_gradient_mask, content_aware_fill

Layer styles

apply_layer_style (drop shadow / outer glow / stroke)

History

undo, redo, get_history, save_checkpoint, restore_checkpoint

Layout / QA

analyze_layout, detect_overlaps, validate_layout, design_qa, visual_hierarchy, brand_check, execute_design_plan, apply_constraints

Design system

save_design_system, load_design_system, list_design_systems, capture_design_system, create_component

Introspection

get_version, get_capabilities, get_state, get_session_info, get_active_document_info, get_selection_info, get_document_info, list_layers, get_layer_bounds, get_preview, render_preview

Data-driven

image_stack, list_datasets, import_datasets, generate_from_datasets

Automation

play_action, execute_script

Run tools/list in your MCP client to see all ~122 tools.

Configuration reference

run/

Temp JSX files (auto-created)

snapshots/

Named PNG snapshots for visual regression (render_snapshot)

checkpoints/

PSD backups for rollback (save_checkpoint)

design-systems/

Saved design systems (save_design_system)

Known limitations

  • Generative AI (Firefly) and Neural Filters require PS 24+ / a UXP bridge plugin and cannot be driven via ExtendScript.

  • select_subject needs PS 23+. export_as WebP/AVIF needs PS 23.2+.

  • On PS 2020, some commands prompt a "Photoshop is busy" if a modal dialog is open — dismiss it and retry.

Credits

Capability design inspired by:

Both are MIT licensed. This project is an independent implementation with additional tools (layout analysis, design QA, design systems, visual regression).

License

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    A full-featured image processing MCP server for AI assistants, exposing ~55 tools across 11 categories for editing, layers, conversion, AI segmentation/cleanup/generation, design analysis, and screenshot-to-code.
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that lets AI assistants like Claude control Adobe Illustrator through natural language by executing ExtendScript code and providing document state inspection.
    6
    MIT

View all related MCP servers

Related MCP Connectors

  • The Figma MCP server brings Figma design context directly into your AI workflow.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

View all MCP Connectors

Latest Blog Posts

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/francisanderson/photoshop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server