Photoshop MCP Server
NPM · ADOBE-MCP-PHOTOSHOP
Drive Adobe Photoshop from any MCP client: layers, selections, adjustments, type and export.
Available components
Last scanned (11 hours ago)
Scores higher than 39% of npm servers
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 35189 tokens (~169/item across 207 items; 207 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 91% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 208 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 23 Oct 26 +1
- Stability: unverified → 0.10 ▲ functional
- 21 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 20 Oct 26 53
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 23 Oct 2026 · Analysed npm/adobe-mcp-photoshop@0.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
make_snapshot Make Snapshot ~32
Save the current state as a History snapshot, so it can be returned to later
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | – |
No output schema declared.
No examples provided.
manage_brushes Manage Brushes ~214
Brush presets and files (Brushes panel and its menu): load a brush file (.abr) as the current tool's brush (Import Brushes), save the current tool's brush to a file (Export Selected Brushes), define a preset from the selection, or the whole image when nothing is selected (Edit > Define Brush Preset), save the current brush and its settings as a new preset (New Brush Preset), rename or delete a preset, or restore the default brushes (Reset Brushes), replacing the current set or appending to it
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| append | boolean | – | Reset: add the default brushes to the current ones instead of replacing them. Default false |
| filePath | string | – | Import or export: absolute path to a .abr file |
| name | string | – | Define and new_preset: the new preset's name. Rename: the new name |
| preset | string | – | Rename and delete: the preset's name, as the Brushes panel lists it |
No output schema declared.
No examples provided.
manage_channels Manage Channels ~118
Target channels for editing (clicking them in the Channels panel), duplicate a channel (into this or another open document), delete alpha or spot channels, or merge spot channels into the colour channels (Merge Spot Channel, which flattens the image)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| channels | array | yes | Channel names (list_channels) |
| name | string | – | duplicate: name for the copy (one channel) |
| toDocument | string | – | duplicate: an open document of the same pixel size to copy into. Default this one |
No output schema declared.
No examples provided.
manage_count_items Manage Count Items ~82
List, add, remove or clear the Count tool's numbered markers (count items) in the document. Positions are pixels from the top-left corner; indexes start at 0
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| index | integer | – | remove: the count item's index |
| points | array | – | add: positions, [[x, y], ...] |
No output schema declared.
No examples provided.
manage_data_sets Manage Data Sets ~190
Work with variable data sets on the active document: import them from a text file (File > Import > Variable Data Sets), apply one (Image > Apply Data Set), or save a PSD per data set into a folder (File > Export > Data Sets as Files). Variables themselves are defined in Image > Variables > Define
| Name | Type | Req | Description |
|---|---|---|---|
| filePath | string | – | import: absolute path of the comma- or tab-delimited text file |
| firstColumnNames | boolean | – | import: use the first column as the data set names. Default false |
| folder | string | – | export: absolute folder path |
| name | string | – | apply: the data set name |
| names | array | – | export: the data sets to save, each as <name>.psd |
| operation | string | yes | – |
| replace | boolean | – | import: replace the existing data sets. Default true |
No output schema declared.
No examples provided.
manage_document_notes Manage Document Notes ~112
Work with notes (non-printing annotations): import the notes from a PDF or FDF file into the active document (File > Import > Notes), delete all of its notes (Note tool: Clear All), choose the Note tool, or show or hide the Notes panel (Window > Notes). Writing a note's text is done by hand with the Note tool
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| file | string | – | import: absolute path of a PDF or FDF file with notes |
No output schema declared.
No examples provided.
manage_layer_style Manage Layer Style ~103
Layer style commands (Layer > Layer Style): Clear Layer Style, Rasterize Layer Style (bake the effects into pixels), Scale Effects by a percentage, or hide or show all of a layer's effects
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| scale | number | – | scale: percent |
| target | object | – | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true. Default the active layer |
No output schema declared.
No examples provided.
manage_measurement_log Manage Measurement Log ~156
Work with the Measurement Log panel (Window > Measurement Log): export all or the selected measurements to a tab-delimited text file, delete them, select or deselect all rows, toggle Auto Display Panel, or show or hide the panel
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| dataPoints | array | – | Data points (Image > Analysis > Select Data Points), by their names in the Measurement Log, e.g. "Area", "Perimeter", "Count", "Length", "Angle". Default: the current choice |
| filePath | string | – | export: absolute path of a .txt or .csv file |
| range | string | – | export and delete: all rows or the selected ones. Default all |
No output schema declared.
No examples provided.
manage_paths Manage Paths ~358
Paths panel commands: rename, duplicate or delete a path; select or deselect it (Path Selection); load it as a selection (Make Selection); make a work path from the selection (Make Work Path); make it the clipping path; fill or stroke it on the active layer; save it as a custom shape preset (Edit > Define Custom Shape); or show/hide the Paths panel
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | The command |
| antiAlias | boolean | – | make_selection and fill: anti-aliased edges. Default true |
| color | string | – | fill: colour. Default: the foreground colour |
| combine | string | – | make_selection: how it combines with the current selection. Default replace |
| feather | number | – | make_selection and fill: feather radius in pixels. Default 0 |
| flatness | number | – | make_clipping_path: flatness in device pixels. Default: the printer's |
| newName | string | – | rename: the new name; duplicate: the copy's name; define_custom_shape: the preset name |
| opacity | number | – | fill: opacity percent. Default 100 |
| path | string | – | Path name, as in the Paths panel (list_paths) |
| pathIndex | integer | – | Path index from list_paths, instead of its name |
| preserveTransparency | boolean | – | fill: leave transparent pixels transparent. Default false |
| simulatePressure | boolean | – | stroke: taper the stroke as pen pressure would. Default false |
| tolerance | number | – | make_work_path: tolerance in pixels (lower follows the selection more closely). Default 2 |
| tool | string | – | stroke: the painting tool, with its current settings. Default brush |
No output schema declared.
No examples provided.
manage_recent_files Manage Recent Files ~61
List the files in File > Open Recent, open one of them by its index, or clear the list (Clear Recent File List)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Default list |
| index | integer | – | open: the file's index in the list |
No output schema declared.
No examples provided.
manage_script_events Manage Script Events ~157
List, add or remove the scripts and actions Photoshop runs when an event happens, and turn them on or off (File > Scripts > Script Events Manager)
| Name | Type | Req | Description |
|---|---|---|---|
| event | string | – | add: the event, as a four-character code or event id, e.g. "Opn " (Open Document), "save", "Mk " (New Document) |
| eventClass | string | – | add: the class the event applies to, e.g. "Dcmn" to fire Make only for documents |
| index | integer | – | remove: the notifier's index from list |
| operation | string | yes | – |
| scriptFile | string | – | add: absolute path of the .jsx or .js script to run |
No output schema declared.
No examples provided.
manage_script_options Manage Script Options ~122
Store, read or erase named values that persist in Photoshop between sessions (Application.putCustomOptions, getCustomOptions and eraseCustomOptions), for keeping settings across calls
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | get the values, set (replace) them, or erase them |
| key | string | yes | A unique key, e.g. "com.example.myScript" |
| persistent | boolean | – | set: keep after Photoshop quits. Default true |
| values | object | – | set: { name: string, number or boolean }. Names are letters, digits and underscores |
No output schema declared.
No examples provided.
manage_style_presets Manage Style Presets ~137
Use the Styles panel: apply a loaded style preset to layers by name (replacing their styles), load a style library (.asl) into the panel, or save the panel's styles as a library (Styles panel menu: Load Styles, Save Styles)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| append | boolean | – | load: add to the current styles (false replaces them) |
| file | string | – | load, save: absolute path of the .asl file |
| style | string | – | apply: the style's name in the Styles panel |
| target | object | – | apply: the layers. Default the active layer |
No output schema declared.
No examples provided.
mask_by_color_range Mask By Color Range ~203
Make a layer's mask from a colour range (Properties panel, masks: Color Range): a sampled colour with a fuzziness, or a preset range such as reds, highlights or skin tones. Replaces the layer's existing mask
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | sampled: the colour to keep. "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black), "hsb(h,s,b)" (0-360, 0-100, 0-100) or "lab(L,a,b)" |
| colors | string | – | Default sampled |
| fuzziness | integer | – | sampled: how far from the colour still counts. Default 40 |
| invert | boolean | – | Mask out the range instead of keeping it |
| target | object | – | One layer. Default the active layer |
No output schema declared.
No examples provided.
merge_channels Merge Channels ~83
Combine open grayscale documents of the same pixel size into one image (Channels panel > Merge Channels): three into RGB or Lab, four into CMYK, or two or more into Multichannel, in channel order (e.g. red, green, blue)
| Name | Type | Req | Description |
|---|---|---|---|
| documents | array | yes | Open grayscale document names, in channel order |
| mode | string | – | Default rgb |
No output schema declared.
No examples provided.
merge_layers Merge Layers ~60
Merge a layer into the one below (Merge Down), or merge a group into one layer (Merge Group)
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
No output schema declared.
No examples provided.
modify_selection Modify Selection ~65
Modify the selection (Select > Modify): expand, contract, feather, smooth or border by pixels; grow or select similar colours by tolerance
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Pixels (radius or width); tolerance 0-255 for grow and similar |
| operation | string | yes | – |
No output schema declared.
No examples provided.
new_layer_via New Layer Via ~121
Make a new layer from existing pixels (Layer > New): Layer via Copy copies the selected pixels (or the whole layer when nothing is selected) to a new layer; Layer via Cut moves the selected pixels to a new layer; Stamp Visible merges a copy of every visible layer into a new layer above the target and keeps the originals
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | yes | – |
| name | string | – | Name for the new layer |
| target | object | – | The one layer to copy or cut from, or to stamp above. Default the active layer |
No output schema declared.
No examples provided.
open_document Open Document ~606
Open a file (File > Open, Open As): PSD, PSB, TIFF, JPEG, PNG, GIF, BMP, PDF, EPS, DCS, camera raw and DNG, HEIF, WebP, AVIF, JPEG XL, JPEG 2000, OpenEXR, Radiance, Cineon, DICOM, IFF, PCX, PICT, Pixar, PBM, Scitex CT, Targa, WBMP, Photoshop 2.0, Photoshop Raw, video and audio (as video layers), or a .psdt template (which opens as a new untitled document). openAs reads the file as PDF, EPS, Photoshop Raw or DICOM with that format's options, also when the extension does not match the contents
| Name | Type | Req | Description |
|---|---|---|---|
| asSmartObject | boolean | – | Open as a smart object. Default false |
| filePath | string | yes | Absolute path |
| openAs | string | – | Read the file as this format, with options. pdf: a generic (not Photoshop) PDF page or image, rasterized (Import PDF). eps: rasterize generic EPS. raw: headerless Photoshop Raw data. dicom: medical i… |
| options | object | – | pdf: select (page|image): open a page or an embedded image. Default page; page (integer 1-100000): page (or image) number, from 1; name (text): name of the new document; cropTo (bounding_box|media_bo… |
No output schema declared.
No examples provided.
open_raw_file Open Raw File ~472
Open a camera raw file through Camera Raw without its dialog, with the camera's defaults, the settings last used, or custom Basic, Detail, Lens and Calibration values and Workflow Options (colour space, bit depth, size, resolution). These are the object model's older Camera Raw controls
| Name | Type | Req | Description |
|---|---|---|---|
| bitsPerChannel | integer | – | Workflow Options: bit depth |
| brightness | number | – | Brightness, 0-150 (process versions 2003 and 2010) |
| calibration | object | – | Calibration: hue and saturation of each primary and the shadow tint, each -100 to 100 |
| chromaticAberrationBY | number | – | Chromatic aberration blue/yellow, -100 to 100 |
| chromaticAberrationRC | number | – | Chromatic aberration red/cyan, -100 to 100 |
| colorNoiseReduction | number | – | Color noise reduction, 0-100 |
| colorSpace | string | – | Workflow Options: colour space |
| contrast | number | – | Contrast, -50 to 100 |
| exposure | number | – | Exposure in stops, -4 to 4 |
| filePath | string | yes | Absolute path to the raw file |
| luminanceSmoothing | number | – | Luminance noise reduction, 0-100 |
| resolution | number | – | Workflow Options: resolution, pixels per inch |
| saturation | number | – | Saturation, -100 to 100 |
| settings | string | – | camera (Camera Raw defaults), selected_image (the settings last used) or custom (the values given). Default custom when values are given, otherwise camera |
| shadows | number | – | Shadows, 0-100 |
| sharpness | number | – | Sharpening amount, 0-100 |
| size | string | – | Workflow Options: image size |
| temperature | number | – | White balance temperature in kelvin, 2000-50000 |
| tint | number | – | White balance tint, -150 to 150 |
| vignettingAmount | number | – | Lens vignetting amount, -100 to 100 |
| vignettingMidpoint | number | – | Lens vignetting midpoint, -100 to 100 |
| whiteBalance | string | – | White balance preset |
No output schema declared.
No examples provided.
photoshop_status Photoshop Status ~68
Check that Photoshop is reachable: platform, how the server addresses Photoshop, whether it is running, its version and open documents. Use this first when a call fails to connect
| Name | Type | Req | Description |
|---|---|---|---|
| probe | boolean | – | Ask Photoshop for its version and documents (starts Photoshop if it is not running). Default true |
No output schema declared.
No examples provided.
pick_color Pick Color ~222
Work with a colour the way the Color Picker and Color panel do: give a colour in any model (or read the current foreground or background colour) and get its HSB, RGB, Lab, CMYK, grayscale and hex values, whether it is web-safe and the nearest web-safe colour (Only Web Colors); optionally snap it to web-safe and make it the foreground or background colour
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | The colour. "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black), "hsb(h,s,b)" (0-360, 0-100, 0-100) or "lab(L,a,b)" |
| from | string | – | Use the current foreground or background colour instead of color |
| setAs | string | – | Make the result the foreground or background colour |
| webSafe | boolean | – | Snap to the nearest web-safe colour (Only Web Colors) |
No output schema declared.
No examples provided.
place_file Place File ~158
Place an image, PDF, vector or other file in the active document as a smart object (File > Place Embedded), or as a smart object linked to the file (File > Place Linked), positioned, scaled and rotated
| Name | Type | Req | Description |
|---|---|---|---|
| angle | number | – | Rotation in degrees |
| center | object | – | Where the placed item's centre goes, in pixels from the top-left. Default the document centre |
| filePath | string | yes | Absolute path of the file to place |
| linked | boolean | – | Link to the file instead of embedding it. Default false |
| scale | number | – | Scale in percent, both directions |
| scaleX | number | – | Horizontal scale in percent |
| scaleY | number | – | Vertical scale in percent |
No output schema declared.
No examples provided.
play_action Play Action ~70
Play an action from the Actions panel by its name and set. Dialogs in the action stay closed and use their recorded settings
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action name, e.g. "Vignette (selection)" |
| set | string | yes | Action set name, e.g. "Default Actions" |
No output schema declared.
No examples provided.
print_image Print Image ~145
Print the active document with its print settings and no Print dialog (File > Print), or print one copy with the current settings (File > Print One Copy). Set the printer and options first with set_print_options
| Name | Type | Req | Description |
|---|---|---|---|
| blackPointCompensation | boolean | – | Default true |
| oneCopy | boolean | – | Print One Copy with the current settings; the other options do not apply. Default false |
| printSpace | string | – | Printer profile name. Default: the print settings' print space |
| renderingIntent | string | – | Default relative_colorimetric |
| source | string | – | Print the document's colours, or a hard proof of the Proof Setup. Default document |
No output schema declared.
No examples provided.
process_all_layers Process All Layers ~48
Run a command on every layer of the document: Delete Hidden Layers (Layers panel menu) or Rasterize All Layers (Layer > Rasterize > All Layers)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
No output schema declared.
No examples provided.
purge_photoshop_caches Purge Photoshop Caches ~56
Free memory with Edit > Purge: the undo buffer, the clipboard, the histories of open documents, or all of them. It cannot be undone
| Name | Type | Req | Description |
|---|---|---|---|
| target | string | – | What to purge. Default all |
No output schema declared.
No examples provided.
quick_export Quick Export ~182
Quick Export the whole document, or chosen layers, groups or artboards, as PNG, JPG or GIF into a folder in one step (File > Export > Quick Export As; Layers panel > Quick Export As). Files are named after the document or each layer
| Name | Type | Req | Description |
|---|---|---|---|
| fileType | string | – | Default png |
| includeMetadata | boolean | – | Include copyright and contact metadata. Default false |
| layers | object | – | Export these layers, groups or artboards, each to its own file. Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true. Default: the whole document |
| outputFolder | string | yes | Absolute folder path |
| quality | integer | – | JPG quality, 1-100. Default 90 |
| sRGB | boolean | – | Convert to sRGB. Default true |
No output schema declared.
No examples provided.
quit_photoshop Quit Photoshop ~69
Quit Photoshop (File > Exit, or Photoshop > Quit Photoshop on macOS). Refuses while documents have unsaved changes unless discardUnsaved is true, which closes them without saving first
| Name | Type | Req | Description |
|---|---|---|---|
| discardUnsaved | boolean | – | Close documents with unsaved changes without saving them. Default false |
No output schema declared.
No examples provided.
rasterize_layers Rasterize Layers ~75
Rasterize type, shape, smart object or fill layers into pixels (Layer > Rasterize), or only one part of them
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| what | string | – | Default entire_layer |
No output schema declared.
No examples provided.
record_measurements Record Measurements ~125
Record measurements to the Measurement Log (Image > Analysis > Record Measurements) from the selection, the Ruler tool's line or the Count tool's items, with a chosen set of data points. The ruler source needs a line drawn with the Ruler tool
| Name | Type | Req | Description |
|---|---|---|---|
| dataPoints | array | – | Data points (Image > Analysis > Select Data Points), by their names in the Measurement Log, e.g. "Area", "Perimeter", "Count", "Length", "Angle". Default: the current choice |
| source | string | – | What to measure. Default selection |
No output schema declared.
No examples provided.
refine_mask Refine Mask ~137
Refine a layer mask's edges as Select and Mask does, writing the result back to the layer mask. Without a mask, the current selection is refined into a new mask
| Name | Type | Req | Description |
|---|---|---|---|
| contrast | number | – | Percent. Default 0 |
| feather | number | – | Pixels. Default 0 |
| radius | number | – | Edge detection radius in pixels. Default 0 |
| shiftEdge | number | – | Percent; negative moves the edge in. Default 0 |
| smartRadius | boolean | – | Smart Radius |
| smooth | integer | – | Default 0 |
| target | object | – | One layer. Default the active layer |
No output schema declared.
No examples provided.
refine_selection Refine Selection ~210
Refine the selection's edge as Select and Mask does, without opening the workspace: edge detection radius (optionally smart), smooth, feather, contrast, shift edge and colour decontamination, output to the selection, a layer mask, a new layer or a new document
| Name | Type | Req | Description |
|---|---|---|---|
| contrast | number | – | Percent. Default 0 |
| decontaminate | boolean | – | Decontaminate Colors (needs an output to a new layer or document). Default false |
| decontaminateAmount | number | – | Percent. Default 100 |
| feather | number | – | Pixels. Default 0 |
| output | string | – | Default selection |
| radius | integer | – | Edge detection radius, pixels. Default 0 |
| sampleAllLayers | boolean | – | Default false |
| shiftEdge | number | – | Percent; negative moves the edge inward. Default 0 |
| smartRadius | boolean | – | Smart Radius. Default false |
| smooth | integer | – | Default 0 |
No output schema declared.
No examples provided.
remove_background Remove Background ~69
Remove the background of layers (the Properties panel's Remove Background quick action): Photoshop finds the subject and adds a layer mask hiding the rest. It uses the Select Subject model, which may process in the cloud depending on Preferences > Image Processing
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | – | Layers. Default the active layer |
No output schema declared.
No examples provided.
render_video Render Video ~145
Render the timeline to a video file through Adobe Media Encoder (File > Export > Render Video), at the document size
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | h264 (MP4) or quicktime (MOV). Default h264 |
| frameRate | number | – | Output frame rate. Default the timeline's |
| name | string | yes | File name, ending in .mp4 for h264 or .mov for quicktime |
| outputFolder | string | yes | Absolute folder to render into |
| preset | string | – | Media Encoder preset file name, as listed in the Render Video dialog. Default "1_High Quality.epr" for h264; required for quicktime |
No output schema declared.
No examples provided.
repeat_last_filter Repeat Last Filter ~52
Apply the last filter again, with the same settings, to layers (Filter > Last Filter). A filter must have been applied in this Photoshop session
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | – | Layers. Default the active layer |
No output schema declared.
No examples provided.
replace_sky Replace Sky ~278
Replace the sky in the active document (Edit > Sky Replacement) with an image file, without the dialog. Photoshop finds the sky, adds a Sky Replacement group with the new sky and lighting and colour layers, and returns it. Edge, brightness, temperature, lighting and colour settings match the dialog's
| Name | Type | Req | Description |
|---|---|---|---|
| brightness | number | – | Sky brightness, -100 to 100. Default 0 |
| colorAdjustment | number | – | Color Adjustment, 0-100. Default 50 |
| edgeLighting | number | – | Edge Lighting, 0-100. Default 50 |
| fadeEdge | number | – | Fade Edge, 0-100. Default 25 |
| foregroundLighting | number | – | Foreground Lighting adjustment, 0-100. Default 50 |
| lightingMode | string | – | Lighting mode for the foreground lighting layer. Default screen; Photoshop may choose its own blend from the sky |
| output | string | – | Output to new layers (default) or a duplicate layer |
| shiftEdge | number | – | Shift Edge, -100 to 100. Default 0 |
| skyFile | string | yes | Absolute path to the sky image (a Sky_Presets image or any JPEG or PNG) |
| temperature | number | – | Sky temperature, -100 to 100. Default 0 |
No output schema declared.
No examples provided.
resize_canvas Resize Canvas ~141
Change the canvas size (Image > Canvas Size) in pixels, keeping the image anchored at a side or corner. New areas take the Canvas Extension Color on a background layer (the background colour unless extensionColor is given) and stay transparent elsewhere
| Name | Type | Req | Description |
|---|---|---|---|
| anchor | string | – | Default center |
| extensionColor | string | – | Canvas Extension Color for new areas of a background layer. Default: the background colour |
| height | number | – | Pixels (added to the current height when relative) |
| relative | boolean | – | Width and height are added to the current size. Default false |
| width | number | – | Pixels (added to the current width when relative) |
No output schema declared.
No examples provided.
resize_image Resize Image ~200
Resize the image (Image > Image Size): width and/or height in pixels (the other follows the aspect ratio when omitted), resolution, and the resampling method, with noise reduction for Preserve Details and optionally scaling layer styles (Scale Styles). With resample "none", only the resolution changes and the pixels stay as they are
| Name | Type | Req | Description |
|---|---|---|---|
| height | number | – | Pixels |
| reduceNoise | number | – | Reduce Noise for resample "preserve_details", 0-100 |
| resample | string | – | Default automatic |
| resolution | number | – | Pixels per inch |
| scale | number | – | Percent of the current size, instead of width and height |
| scaleStyles | boolean | – | Scale layer styles with the image (Scale Styles). Given either way, the resize runs through the Image Size command; the aspect ratio is kept, so give width, height or scale, not both width and height |
| width | number | – | Pixels |
No output schema declared.
No examples provided.
retouch_selection Retouch Selection ~274
Repair or move the selected area on the active pixel layer by an offset: patch it from nearby pixels (Patch tool, Normal or Content-Aware), or move or extend it and fill the gap (Content-Aware Move tool). Needs a selection; dx and dy are the drag in pixels
| Name | Type | Req | Description |
|---|---|---|---|
| color | integer | – | How much colour blending, 0 to 10. Default 5 |
| dx | number | yes | Horizontal offset in pixels, positive to the right |
| dy | number | yes | Vertical offset in pixels, positive downward |
| method | string | yes | – |
| moveMode | string | – | Content-Aware Move: move the content, or extend (duplicate) it. Default move |
| patchFrom | string | – | Patch: source repairs the selection with the pixels at the offset; destination copies the selection to the offset. Default source |
| patchMode | string | – | Patch: how the patch blends. Default content_aware |
| sampleAllLayers | boolean | – | Sample all visible layers. Default false |
| structure | integer | – | How closely the result keeps existing image patterns, 1 (loose) to 7 (strict). Default 5 for patch, 4 for move |
| transparent | boolean | – | Patch: blend the sampled texture transparently. Default false |
No output schema declared.
No examples provided.
reveal_all Reveal All ~26
Enlarge the canvas to show every pixel that extends beyond it (Image > Reveal All)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
reverse_layer_order Reverse Layer Order ~55
Reverse the stacking order of two or more layers (Layer > Arrange > Reverse)
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
No output schema declared.
No examples provided.
rotate_canvas Rotate Canvas ~49
Rotate the whole image by an angle in degrees (Image > Image Rotation); positive is clockwise. Or flip the canvas horizontally or vertically
| Name | Type | Req | Description |
|---|---|---|---|
| angle | number | – | – |
| flip | string | – | – |
No output schema declared.
No examples provided.
run_action_batch Run Action Batch ~438
Play an action on every file in a folder, a list of files, or the open documents, and leave, save over, or save them to a folder (File > Automate > Batch). Long batches can outlast the script timeout (PHOTOSHOP_SCRIPT_TIMEOUT_MS)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action name, as in the Actions panel (list_action_sets) |
| compatibility | object | – | File name compatibility. Default: the current platform only |
| destination | string | – | none: leave files open, save_and_close: save over the source, folder: save into destinationFolder. Default none |
| destinationFolder | string | – | Absolute folder path, for destination folder |
| errorLog | string | – | Absolute path of a text file to log errors to (Log Errors To File). Omit to stop for errors |
| extensions | array | – | Only files with these extensions from sourceFolder, e.g. ["jpg", "png"] |
| fileNaming | array | – | File Naming for destination folder: up to 6 parts joined in order. Default ["document_name", "extension_lower"] |
| files | array | – | Source: these absolute file paths |
| includeSubfolders | boolean | – | Include All Subfolders of sourceFolder. Default false |
| openDocuments | boolean | – | Source: the open documents (Opened Files); each must have been saved |
| overrideOpen | boolean | – | Override Action "Open" Commands: the action's own Open steps open each source file instead. Default false |
| overrideSaveAs | boolean | – | Override Action "Save As" Commands: the action's Save As steps save into the destination instead of their recorded place. Default false |
| set | string | yes | Action set name |
| sourceFolder | string | – | Source: every file in this absolute folder path |
| startingSerial | integer | – | Starting serial number for serial parts. Default 1 |
| suppressOpenDialogs | boolean | – | Suppress File Open Options Dialogs (camera raw and similar). Default true |
| suppressProfileWarnings | boolean | – | Suppress Color Profile Warnings. Default true |
No output schema declared.
No examples provided.
run_automate_command Run Automate Command ~319
Run a File > Automate or File > Scripts command on the active document without its dialog: crop_and_straighten (Crop and Straighten Photos: each scanned photo into its own document), fit_image (Fit Image: resize to fit a box), conditional_mode_change (Conditional Mode Change), lens_correction (Automate > Lens Correction's automatic profile correction), delete_empty_layers (Delete All Empty Layers), flatten_layer_effects (Flatten All Layer Effects), flatten_masks (Flatten All Masks)
| Name | Type | Req | Description |
|---|---|---|---|
| autoScale | boolean | – | lens_correction: scale to hide blank edges. Default true |
| chromaticAberration | boolean | – | lens_correction: correct chromatic aberration. Default false |
| command | string | yes | – |
| distortion | boolean | – | lens_correction: correct geometric distortion. Default true |
| dontEnlarge | boolean | – | fit_image: leave images already smaller than the box. Default false |
| edge | string | – | lens_correction: fill for edges left blank. Default transparency |
| flatten | boolean | – | conditional_mode_change: flatten while converting. Default false |
| height | number | – | fit_image: box height in pixels |
| sourceModes | array | – | conditional_mode_change: convert only from these modes. Default all |
| targetMode | string | – | conditional_mode_change: the mode to convert to |
| vignette | boolean | – | lens_correction: remove vignetting. Default false |
| width | number | – | fit_image: box width in pixels |
No output schema declared.
No examples provided.
run_photoshop_command Run Photoshop Command ~74
Run an application command: beep, bring Photoshop to the front, redraw the screen, hide Photoshop or the other applications or show them all again (Photoshop menu, macOS only), open Help > Photoshop Help, or open the Creative Cloud account page in the browser
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command |
No output schema declared.
No examples provided.
run_photoshop_menu_item Run Photoshop Menu Item ~107
Run any Photoshop menu command by its string id (e.g. "toggleRulers") or four-character id (e.g. "TglR"), as Application.runMenuItem does. A command that opens a dialog shows it and waits; prefer the specific tools
| Name | Type | Req | Description |
|---|---|---|---|
| charID | string | – | Four-character menu command id, e.g. "ZmIn" |
| stringID | string | – | Menu command string id, e.g. "screenModeFullScreen" |
No output schema declared.
No examples provided.
run_timeline_command Run Timeline Command ~119
Run a video timeline command on the selected clips, keyframes or video layer at the playhead (Timeline panel menu: Move & Trim, Split at Playhead, Work Area, Keyframes, Convert Frames, Enable Onion Skins, Show; Layer > Video Layers: Insert, Delete, Duplicate, Reload or Restore Frame, Hide Altered Video). Toggles switch the setting each time
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command to run |
| target | object | – | Clips (layers) to select first. Default: the current selection |
No output schema declared.
No examples provided.
run_type_menu_command Run Type Menu Command ~58
Run a Type menu command: Update All Text Layers (also updates legacy and Asian text layers for vector output), Replace All Missing Fonts, Save Default Type Styles or Load Default Type Styles
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The Type menu command |
No output schema declared.
No examples provided.
sample_color Sample Color ~125
Read pixel colours of the composite image at points (Color Sampler tool and Info panel), optionally making the first the foreground or background colour (Eyedropper tool) and keeping the samplers in the document
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Remove the document's existing colour samplers first. Default false |
| keep | boolean | – | Leave colour samplers at the points. Default false |
| points | array | yes | Pixel positions from the document's top-left |
| setAs | string | – | Make the first sampled colour the foreground or background colour (Eyedropper) |
No output schema declared.
No examples provided.
How do I install the Photoshop MCP Server server?
Photoshop MCP Server runs locally as an npm package, launched with npx -y adobe-mcp-photoshop. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · adobe-mcp-photoshop
claude mcp add zachshallbetter-adobe-mcp-photoshop -- npx -y adobe-mcp-photoshop
What is the Photoshop MCP Server server?
Photoshop MCP Server is listed in the public MCP registry as io.github.zachshallbetter/adobe-mcp-photoshop. Drive Adobe Photoshop from any MCP client: layers, selections, adjustments, type and export. This page covers its npm package (adobe-mcp-photoshop).
Is the Photoshop MCP Server server safe to use?
Photoshop MCP Server scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 23 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Photoshop MCP Server server expose?
Photoshop MCP Server exposes 207 tools: list_documents, get_document_info, create_document, open_document, save_document, and 202 more. Their descriptions and schemas cost roughly 34,806 tokens of context every time the server is loaded.
Is the Photoshop MCP Server server still maintained?
Photoshop MCP Server is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Photoshop MCP Server server under?
Photoshop MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.