Photoshop MCP Server
NPM · ADOBE-MCP-PHOTOSHOP
Drive Adobe Photoshop from any MCP client: layers, selections, adjustments, type and export.
Available components
Last scanned (12 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 →
save_document Save Document ~1,475
Save the active document in place, or at filePath in the format its extension names, with that format's options (File > Save As): PSD, PSB (Large Document Format), TIFF, PNG, JPEG, Photoshop PDF, GIF, Photoshop EPS, DCS 1.0 and 2.0 (.eps with epsType), BMP, Targa (.tga), Pixar (.pxr) or Photoshop Raw (.raw). With asCopy the document keeps referring to its own file
| Name | Type | Req | Description |
|---|---|---|---|
| alphaChannels | boolean | – | PSD, TIFF: keep alpha channels |
| asCopy | boolean | – | Save a copy. Default false |
| compression | – | – | TIFF: none, lzw (default), zip or jpeg. PNG: 0-9 (default 6) |
| embedColorProfile | boolean | – | Embed the colour profile (PSD, TIFF, JPEG, PDF, EPS, DCS). Default true |
| epsType | string | – | .eps files: Photoshop EPS (default), Photoshop DCS 1.0 or DCS 2.0 (CMYK documents; DCS 2.0 keeps spot channels) |
| filePath | string | – | Absolute path ending in .psd, .psb, .tif, .tiff, .png, .jpg, .jpeg, .pdf, .gif, .eps, .bmp, .tga, .pxr, .raw. Omit to save in place |
| format | string | – | JPEG: baseline, optimized (default) or progressive |
| interlaced | boolean | – | PNG: interlaced |
| layers | boolean | – | PSD, TIFF, PDF: keep layers |
| notes | boolean | – | PSD, TIFF, PDF: save the document's notes with it (the Notes save option) |
| options | object | – | More options for the format. TIFF: pixelOrder (interleaved|per_channel); byteOrder (ibm|mac); imagePyramid (true/false); layerCompression (rle|zip); jpegQuality (integer 0-12): with compression jpeg;… |
| preserveEditing | boolean | – | PDF: keep Photoshop editing capabilities |
| preset | string | – | PDF: Adobe PDF preset name, e.g. "[High Quality Print]" |
| quality | integer | – | JPEG quality, 0-12. Default 10 |
| spotColors | boolean | – | PSD: keep spot channels |
| standard | string | – | PDF: PDF/X standard |
| transparency | boolean | – | TIFF: keep transparency |
No output schema declared.
No examples provided.
save_selection Save Selection ~98
Store the selection in an alpha channel (Select > Save Selection), or load a channel as the selection (Select > Load Selection), combined with the current one
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| channel | string | yes | Alpha channel name. Saving to a new name creates the channel |
| combine | string | – | How it combines with the current selection. Default replace |
| invert | boolean | – | Load: invert the channel. Default false |
No output schema declared.
No examples provided.
scale_content_aware Scale Content Aware ~155
Resize a layer while keeping important content such as people and buildings unchanged (Edit > Content-Aware Scale): width and height in percent, the Amount of content-aware against normal scaling, Protect Skin Tones, and an alpha channel to protect
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | – | Percent of content-aware scaling. Default 100 |
| anchor | string | – | Reference point. Default center |
| protectChannel | string | – | Alpha channel whose white areas are protected (list_channels) |
| protectSkinTones | boolean | – | Default false |
| scaleX | number | – | Width, percent. Default 100 |
| scaleY | number | – | Height, percent. Default 100 |
| target | object | yes | One layer |
No output schema declared.
No examples provided.
select_all Select All ~42
Select the whole canvas (Select > All), deselect (Select > Deselect), or invert the selection (Select > Inverse)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
No output schema declared.
No examples provided.
select_area Select Area ~204
Select a rectangle, an ellipse, a polygon or freehand outline (the Polygonal Lasso and Lasso tools), or a one-pixel row or column (Single Row and Single Column Marquee tools), in pixels from the document's top-left corner, combined with the current selection. The ellipse is a fine polygon, so its edge is close to but not exactly the Elliptical Marquee's
| Name | Type | Req | Description |
|---|---|---|---|
| antiAlias | boolean | – | – |
| bounds | object | – | Rectangle or ellipse bounds |
| combine | string | – | How it combines with the current selection. Default replace |
| feather | number | – | Pixels. Default 0 |
| points | array | – | Polygon or lasso outline, [[x, y], ...] |
| shape | string | – | Default rectangle |
| x | number | – | column: the column's left edge, pixels from the left |
| y | number | – | row: the row's top edge, pixels from the top |
No output schema declared.
No examples provided.
select_color_range Select Color Range ~243
Select by colour (Select > Color Range): pixels near a sampled colour within a fuzziness, or a preset range (reds ... magentas, highlights, midtones, shadows, out of gamut), optionally inverted. Works inside the current selection when there is one, and samples the active layer
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | The colour to select (Sampled Colors). "#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)" |
| fuzziness | integer | – | Sampled colours and highlights/midtones/shadows: how far from the colour or tone still counts. Default 40 |
| invert | boolean | – | Select everything else. Default false |
| preset | string | – | A preset range instead of a colour |
| range | array | – | highlights, midtones or shadows: the [lower, upper] tonal limits, 0-255 |
No output schema declared.
No examples provided.
select_content Select Content ~90
Select automatically: the main subject (Select > Subject), the sky (Select > Sky), or the in-focus areas with Focus Area's automatic settings (Select > Focus Area). Subject uses the device or cloud processing chosen in Preferences > Image Processing
| Name | Type | Req | Description |
|---|---|---|---|
| sampleAllLayers | boolean | – | subject and sky: look at every layer, not only the active one. Default false |
| what | string | yes | – |
No output schema declared.
No examples provided.
select_layer_pixels Select Layer Pixels ~101
Load layers' transparency as the selection, as Cmd/Ctrl-clicking a layer thumbnail does: replace, add to, subtract from or intersect with the current selection. With several layers, replace selects all of their pixels together
| Name | Type | Req | Description |
|---|---|---|---|
| combine | string | – | How it combines with the current selection. Default replace |
| 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.
select_view_tool Select View Tool ~56
Make a view tool current in the Tools panel: Hand, Zoom, Rotate View (needs the graphics processor), Slice or Slice Select. Using the tool on the canvas stays with the user
| Name | Type | Req | Description |
|---|---|---|---|
| tool | string | yes | The tool |
No output schema declared.
No examples provided.
set_action_options Set Action Options ~117
Set how actions play back (Actions panel menu > Playback Options: accelerated, step by step, or pause between steps), and toggle Button Mode or Allow Tool Recording
| Name | Type | Req | Description |
|---|---|---|---|
| pauseSeconds | integer | – | Seconds between steps, for playback pause. Default 1 |
| playback | string | – | Playback Options performance |
| toggleButtonMode | boolean | – | Switch Button Mode on or off (it toggles; the panel shows the current state) |
| toggleToolRecording | boolean | – | Switch Allow Tool Recording on or off (it toggles) |
No output schema declared.
No examples provided.
set_active_document Set Active Document ~35
Bring an open document to the front by name or index
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | – |
| name | string | – | – |
No output schema declared.
No examples provided.
set_active_layer Set Active Layer ~54
Make a layer the active one; many commands work on the active layer
| 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.
set_blending_options Set Blending Options ~308
Set a layer's Blending Options (Layer Style dialog): blend mode, opacity and fill opacity; Advanced Blending knockout, the channels it blends into and the group options (Blend Interior Effects as Group, Blend Clipped Layers as Group, Transparency Shapes Layer, Layer Mask Hides Effects, Vector Mask Hides Effects); and Blend If ranges for this layer and the underlying layer
| Name | Type | Req | Description |
|---|---|---|---|
| blendClippedLayers | boolean | – | blend clipped layers |
| blendIf | array | – | Blend If, one entry per channel: { channel: "gray" or a colour channel, thisLayer: [black, black split, white split, white], underlyingLayer: [...] }, levels 0-255 |
| blendInteriorEffects | boolean | – | blend interior effects |
| blendMode | string | – | Blend mode |
| channels | array | – | Channels the layer blends into, e.g. ["red", "blue"]; the document's own channel names |
| fillOpacity | number | – | Fill opacity, percent (pixel, type and shape layers) |
| knockout | string | – | Knockout |
| layerMaskHidesEffects | boolean | – | layer mask hides effects |
| opacity | number | – | Percent |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| transparencyShapesLayer | boolean | – | transparency shapes layer |
| vectorMaskHidesEffects | boolean | – | vector mask hides effects |
No output schema declared.
No examples provided.
set_brush_settings Set Brush Settings ~340
Set the current tool's brush in the Brush Settings panel (Window > Brush Settings): Brush Tip Shape (size, hardness, angle, roundness, spacing, flip), Shape Dynamics, Scattering, Texture, Dual Brush, Color Dynamics, Transfer and Brush Pose, each section's on/off switch, the jitters and their Control (fade, pen pressure, tilt, stylus wheel, direction, rotation), and the Noise, Wet Edges, Build-up, Smoothing and Protect Texture checkboxes; clearControls first turns every dynamics option off (Clear Brush Controls). Only the settings given change; one the tool lacks is an error. stroke_path paints with these settings. Returns each setting as Photoshop holds it afterwards
| Name | Type | Req | Description |
|---|---|---|---|
| brushPose | object | – | Brush Pose section |
| buildUp | boolean | – | Build-up (the Airbrush) checkbox |
| clearControls | boolean | – | Clear Brush Controls (Brush Settings panel menu) before applying the rest |
| colorDynamics | object | – | Color Dynamics section |
| dualBrush | object | – | Dual Brush section |
| noise | boolean | – | Noise checkbox |
| protectTexture | boolean | – | Protect Texture checkbox |
| scattering | object | – | Scattering section |
| shapeDynamics | object | – | Shape Dynamics section |
| smoothing | boolean | – | Smoothing (of curves in strokes) checkbox |
| texture | object | – | Texture section |
| tipShape | object | – | Brush Tip Shape section |
| tool | string | – | Tool to make active first. Default the current tool |
| transfer | object | – | Transfer section |
| wetEdges | boolean | – | Wet Edges checkbox |
No output schema declared.
No examples provided.
set_channel Set Channel ~188
Change a channel's options (Channels panel > Channel Options): name, kind (converting an alpha channel to a spot channel or back), colour, opacity or solidity, and show or hide it (the eye icon). Colour channels such as Red can only be shown or hidden
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | The channel's current name (list_channels) |
| color | string | – | "#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)" |
| kind | string | – | – |
| name | string | – | – |
| opacity | number | – | Percent |
| visible | boolean | – | – |
No output schema declared.
No examples provided.
set_clip_timing Set Clip Timing ~124
Move the in or out point of clips (layer duration bars) in the video timeline, or set their duration
| Name | Type | Req | Description |
|---|---|---|---|
| duration | object | – | Set each clip's duration instead, measured from its in point |
| moveIn | object | – | Move each clip's in point by this offset (negative is earlier) |
| moveOut | object | – | Move each clip's out point by this offset (negative is earlier) |
| 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.
set_clipping_mask Set Clipping Mask ~82
Clip layers to the layer below them (Layer > Create Clipping Mask), so they show only where it has pixels, or release them (Layer > Release Clipping Mask)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| 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.
set_clone_source_options Set Clone Source Options ~162
Use the Clone Source panel (Window > Clone Source) and its menu: choose which of the five clone sources the Clone Stamp and Healing Brush use, reset the active source's scale and rotation (Reset Transform), and toggle the overlay options Show Overlay, Auto Hide, Clip to Brush Tip and Invert. The overlay toggles flip the current state, which Photoshop does not report to scripts. Set a source's sample point with stroke_path cloneSource; show the panel with show_photoshop_panels
| Name | Type | Req | Description |
|---|---|---|---|
| resetTransform | boolean | – | Reset the active source's offset scale and rotation (Reset Transform) |
| source | integer | – | Clone source to make active, 1-5 |
| toggle | array | – | Overlay options to toggle, in order |
No output schema declared.
No examples provided.
set_color_preferences Set Color Preferences ~116
Choose the colour settings file (Edit > Color Settings, e.g. "North America General Purpose 2"), Dynamic Color Sliders (Color panel) and the Gamut Warning opacity (Preferences > Transparency & Gamut); returns the current values. With no arguments it only reads them
| Name | Type | Req | Description |
|---|---|---|---|
| dynamicColorSliders | boolean | – | Dynamic Color Sliders |
| gamutWarningOpacity | number | – | Gamut Warning opacity, percent |
| settings | string | – | Name of a colour settings file (as in the Color Settings Settings menu) |
No output schema declared.
No examples provided.
set_color_table Set Color Table ~54
Replace the colour table of an Indexed Color image (Image > Mode > Color Table) with a list of colours, in table order
| Name | Type | Req | Description |
|---|---|---|---|
| colors | array | yes | Up to 256 colours; each is stored as RGB |
No output schema declared.
No examples provided.
set_colors Set Colors ~185
Set the foreground and background colours used by fills, strokes, brushes and new documents
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | "#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)" |
| foreground | string | – | "#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)" |
No output schema declared.
No examples provided.
set_document_metadata Set Document Metadata ~344
Set the active document's File Info metadata: title, author, description, keywords, copyright, IPTC origin and categories, or replace its whole XMP packet. Only the fields given change. Camera data (Exif) is read-only
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | – | Creator (author) name |
| authorPosition | string | – | Creator's job title |
| caption | string | – | Caption (description) |
| captionWriter | string | – | Description writer |
| category | string | – | Legacy IPTC category (up to 3 characters) |
| city | string | – | City |
| copyrightNotice | string | – | Copyright notice |
| copyrighted | string | – | Copyright status |
| country | string | – | Country |
| creationDate | string | – | Date created, YYYYMMDD |
| credit | string | – | Credit line |
| headline | string | – | Headline |
| instructions | string | – | Special instructions |
| jobName | string | – | Job name |
| keywords | array | – | Keywords (replaces the list) |
| ownerUrl | string | – | Copyright info URL |
| provinceState | string | – | State or province |
| source | string | – | Source |
| supplementalCategories | array | – | Supplemental categories (replaces the list) |
| title | string | – | Document title |
| transmissionReference | string | – | Job identifier (transmission reference) |
| urgency | string | – | Urgency: 1 (high) to 8 (low), 5 normal, or none |
| xmp | string | – | A complete XMP packet (<x:xmpmeta ...>) that replaces the document's metadata. Applied before the fields above |
No output schema declared.
No examples provided.
set_file_handling_preferences Set File Handling Preferences ~253
Set and read file-handling preferences: image previews saved with files (macOS icon and full-size previews, Mac and Windows thumbnails), the length of File > Open Recent, and the History Log (on or off, saved to the file's metadata or a text file, and its detail). Call with no settings to read them
| Name | Type | Req | Description |
|---|---|---|---|
| fullSizePreview | boolean | – | macOS: save a full-size preview |
| historyLog | boolean | – | Keep the edit history log |
| historyLogDetail | string | – | Edit log items |
| historyLogFile | string | – | Absolute path of the text file the History Log is written to |
| historyLogSaveTo | string | – | Where the history log goes: the file's metadata (readable in File Info), a text file, or both |
| iconPreview | boolean | – | macOS: save an icon preview |
| imagePreviews | string | – | Save image previews: always, never or ask when saving |
| macThumbnail | boolean | – | macOS: save a Macintosh thumbnail |
| recentFileListLength | integer | – | Files listed in File > Open Recent |
| windowsThumbnail | boolean | – | Save a Windows thumbnail |
No output schema declared.
No examples provided.
set_history_options Set History Options ~172
Read or set the history preferences: History Options (Automatically Create First Snapshot, Allow Non-Linear History, number of history states) and the History Log (Preferences > History & Content Credentials: on or off, saved to metadata, a text file or both, and how much it records)
| Name | Type | Req | Description |
|---|---|---|---|
| autoFirstSnapshot | boolean | – | Automatically Create First Snapshot |
| log | boolean | – | Turn the History Log on or off |
| logDetail | string | – | Edit Log Items: sessions only, concise or detailed |
| logFile | string | – | Absolute path of the log text file, for logTo file or both |
| logTo | string | – | Where the log is saved |
| nonLinear | boolean | – | Allow Non-Linear History |
| states | integer | – | History states kept per document |
No output schema declared.
No examples provided.
set_layer_effects Set Layer Effects ~508
Add, change, hide or remove layer style effects (Layer > Layer Style), as the Layer Style dialog does. effects maps each effect to an options object (omitted options keep the current settings, or Photoshop's defaults for a new effect), true (add or keep with defaults), false (delete the effect), or for dropShadow, innerShadow, colorOverlay, gradientOverlay and stroke a list (several instances, each from defaults). enabled: false hides one effect. Options by effect: dropShadow (enabled, blendMode, color, opacity, angle, useGlobalLight, distance, spread, size, contour, antiAlias, noise, knocksOut); innerShadow (enabled, blendMode, color, opacity, angle, useGlobalLight, distance, choke, size, contour, antiAlias, noise); outerGlow (enabled, blendMode, color, opacity, noise, technique, spread, size, contour, antiAlias, range, jitter); innerGlow (enabled, blendMode, color, opacity, noise, technique, choke, size, contour, antiAlias, range, jitter, source); bevelEmboss (enabled, style, technique, depth, direction, size, soften, angle, altitude, useGlobalLight, glossContour, glossAntiAlias, highlightMode, highlightColor, highlightOpacity, shadowMode, shadowColor, shadowOpacity, contour, texture); satin (enabled, blendMode, color, opacity, angle, distance, size, contour, antiAlias, invert); colorOverlay (enabled, blendMode, color, opacity); gradientOverlay (enabled, blendMode, opacity, gradient, style, angle, reverse, dither, alignWithLayer, scale); patternOverlay (enabled, blendMode, opacity, pattern, scale, linkWithLayer); stroke (enabled, size, position, blendMode, opacity, overprint, fill, color, gradient, gradientStyle, angle, pattern, scale). Sizes are pixels, opacities percent, angles degrees
| Name | Type | Req | Description |
|---|---|---|---|
| effects | object | yes | For example { dropShadow: { distance: 8, size: 12 }, stroke: { size: 2, color: "#FFFFFF" }, outerGlow: false } |
| replace | boolean | – | Start from an empty style, dropping effects not given |
| 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.
set_layer_link_enabled Set Layer Link Enabled ~82
Suspend a linked layer's link (the red X Shift-clicking the link icon shows) or restore it, without unlinking
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | false suspends the link, true restores it |
| 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.
set_layer_properties Set Layer Properties ~152
Rename layers and set their opacity, fill opacity, blend mode, visibility and locks
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | – |
| fillOpacity | number | – | Fill opacity: affects pixels but not layer styles |
| lockPixels | boolean | – | Lock image pixels (pixel layers) |
| lockPosition | boolean | – | Lock position (pixel layers) |
| lockTransparency | boolean | – | Lock transparent pixels (pixel layers) |
| locked | boolean | – | Lock all |
| name | string | – | – |
| opacity | number | – | – |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| visible | boolean | – | – |
No output schema declared.
No examples provided.
set_layer_selection Set Layer Selection ~160
Select several layers at once in the Layers panel, for commands that act on the selected layers: set or add to the selection, select All Layers, Deselect Layers, Select Linked Layers, Similar Layers (same kind as the target), or find layers whose names contain some text (Select menu). Returns the selected layers
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | set: select exactly the target layers; add: add them; all, none; linked and similar: start from the target layer; find: select layers whose name contains query |
| query | string | – | find: text the layer name contains, ignoring case |
| target | object | – | set and add: the layers; linked and similar: the layer to start from (default the active layer) |
No output schema declared.
No examples provided.
set_layers_panel_view Set Layers Panel View ~66
Change what the Layers panel shows, without changing the document: Isolate Layers (show only the target layers), Remove from Isolation, or Collapse All Groups
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| target | object | – | isolate: the layers to show. Default the active layer |
No output schema declared.
No examples provided.
set_mask_properties Set Mask Properties ~99
Set the Density (opacity) and Feather of a layer's layer mask, vector mask or smart-filter mask (Properties panel, masks)
| Name | Type | Req | Description |
|---|---|---|---|
| density | number | – | Percent |
| feather | number | – | Pixels |
| mask | string | – | Which mask. Default layer |
| 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.
set_measurement_scale Set Measurement Scale ~132
Set the document's measurement scale (Image > Analysis > Set Measurement Scale): how many pixels make a length in logical units, e.g. 100 pixels = 2 millimeters. Without arguments, returns the current scale
| Name | Type | Req | Description |
|---|---|---|---|
| logicalLength | number | – | The length those pixels stand for |
| logicalUnits | string | – | Unit name, e.g. "mm", "microns", "km" |
| name | string | – | Name for this scale preset |
| pixelLength | number | – | Pixels |
| reset | boolean | – | Reset to the default: 1 pixel = 1 pixel |
No output schema declared.
No examples provided.
set_photoshop_preferences Set Photoshop Preferences ~1,021
Change Photoshop's preferences (Photoshop > Settings, or Edit > Preferences on Windows). Give only the settings to change; the result lists every preference afterwards. Some take effect after a restart
| Name | Type | Req | Description |
|---|---|---|---|
| additionalPluginFolder | string | – | Absolute path of the Additional Plug-ins Folder; also turns it on (Preferences > Plugins) |
| appendExtension | string | – | Append File Extension: always, never or ask (Preferences > File handling) |
| askBeforeSavingLayeredTIFF | boolean | – | Ask before saving layered TIFF files (Preferences > File handling) |
| autoUpdateOpenDocuments | boolean | – | Auto-update open documents changed on disk (Preferences > General) |
| beepWhenDone | boolean | – | Beep When Done (Preferences > General) |
| cacheForHistograms | boolean | – | Use the image cache for histograms (Preferences > Performance) |
| cacheLevels | integer | – | Cache Levels, 1-8 (Preferences > Performance) |
| colorPicker | string | – | Color Picker (Preferences > General) |
| colorTheme | string | – | Interface colour theme, darkest to lightest (Preferences > Interface) |
| columnGutter | number | – | Column Size gutter, in points (Preferences > Units rulers) |
| columnWidth | number | – | Column Size width, in points (Preferences > Units rulers) |
| dynamicColorSliders | boolean | – | Dynamic Color Sliders (Preferences > General) |
| exportClipboard | boolean | – | Export Clipboard to other applications (Preferences > General) |
| fontNamesInEnglish | boolean | – | Show Font Names in English (Preferences > Type) |
| fontPreviewSize | string | – | Font Preview Size in font menus (none turns previews off) (Preferences > Type) |
| gamutWarningOpacity | number | – | Gamut Warning opacity, percent (Preferences > Transparency gamut) |
| gridStyle | string | – | Grid line style (Preferences > Guides grid slices) |
| gridSubdivisions | integer | – | Grid Subdivisions (Preferences > Guides grid slices) |
| guideStyle | string | – | Guide line style (Preferences > Guides grid slices) |
| historyStates | integer | – | History States kept per document (Preferences > Performance) |
| imagePreviews | string | – | Image Previews: always save, never save or ask when saving (Preferences > File handling) |
| interpolation | string | – | Image Interpolation used when resampling (Preferences > General) |
| lowerCaseExtension | boolean | – | Use lower case file extensions (Preferences > File handling) |
| maxRAMuse | number | – | Memory Usage: percentage of available RAM Photoshop may use (Preferences > Performance) |
| maximizeCompatibility | string | – | Maximize PSD and PSB File Compatibility: always, never or ask (Preferences > File handling) |
| otherCursors | string | – | Other Cursors (Preferences > Cursors) |
| paintingCursors | string | – | Painting Cursors (Preferences > Cursors) |
| pixelDoubling | boolean | – | Pixel doubling (legacy) (Preferences > Legacy) |
| pointSize | string | – | Point/Pica Size: PostScript (72 points/inch) or traditional (72.27 points/inch) (Preferences > Units rulers) |
| recentFileListLength | integer | – | Recent File List Contains, 0-100 files (Preferences > File handling) |
| rulerUnits | string | – | Rulers units (this server still measures in pixels) (Preferences > Units rulers) |
| savePaletteLocations | boolean | – | Remember panel locations (Preferences > General) |
| scriptDialogs | string | – | Application.displayDialogs: whether other scripts and actions show dialogs (all, errors only or none). This server always runs its own scripts with dialogs off (Preferences > Scripting) |
| showAsianTextOptions | boolean | – | Show Asian text options (Preferences > Type) |
| showChannelsInColor | boolean | – | Show Channels in Color (Preferences > Interface) |
| showSliceNumbers | boolean | – | Show Slice Numbers (Preferences > Guides grid slices) |
| showToolTips | boolean | – | Show Tool Tips (Preferences > Interface) |
| smartQuotes | boolean | – | Use Smart Quotes (Preferences > Type) |
| transparencyGridSize | string | – | Transparency checkerboard Grid Size (Preferences > Transparency gamut) |
| typeUnits | string | – | Type units (this server still measures in pixels) (Preferences > Units rulers) |
| uiFontSize | string | – | UI Font Size (takes effect after a restart) (Preferences > Interface) |
| useAdditionalPluginFolder | boolean | – | Use the Additional Plug-ins Folder (takes effect after a restart) (Preferences > Plugins) |
| useDiffusionDither | boolean | – | Diffusion dither (legacy) (Preferences > Legacy) |
| useShiftKeyForToolSwitch | boolean | – | Use Shift Key for Tool Switch (whether a tool shortcut needs Shift to cycle through grouped tools) (Preferences > General) |
| useVideoAlpha | boolean | – | Video alpha (legacy) (Preferences > Legacy) |
| zoomResizesWindows | boolean | – | Zoom Resizes Windows (Preferences > General) |
No output schema declared.
No examples provided.
set_pixel_aspect_ratio Set Pixel Aspect Ratio ~129
Set the document's pixel aspect ratio (View > Pixel Aspect Ratio), for video work with non-square pixels, and/or toggle View > Pixel Aspect Ratio Correction, which previews the image with those pixels
| Name | Type | Req | Description |
|---|---|---|---|
| ratio | number | – | Pixel width divided by height: 1 is square, e.g. 0.91 for D1/DV NTSC, 1.09 for D1/DV PAL, 2 for anamorphic 2:1 |
| toggleCorrection | boolean | – | Toggle Pixel Aspect Ratio Correction (on if it was off, off if it was on) |
No output schema declared.
No examples provided.
set_print_options Set Print Options ~494
Change the active document's print settings (File > Print) without the dialog: printer, copies, colour handling (including separations), print space, rendering intent, black point compensation, hard proof, position and scale, printing marks, functions (emulsion down, negative, background, border, bleed) and PostScript options. Only the settings given change
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Functions: page background 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)" |
| blackPointCompensation | boolean | – | Black point compensation |
| bleed | number | – | Functions: bleed width, pixels |
| border | number | – | Functions: border width, pixels |
| centerCropMarks | boolean | – | Printing marks: centre crop marks |
| colorBars | boolean | – | PostScript: colour calibration bars |
| colorHandling | string | – | Photoshop manages colours, the printer manages colours, or print each channel as a separation |
| copies | integer | – | Number of copies |
| cornerCropMarks | boolean | – | Printing marks: corner crop marks |
| description | boolean | – | Printing marks: print the File Info description |
| flip | boolean | – | Functions: emulsion down (flip horizontally) |
| hardProof | boolean | – | Print a hard proof that simulates the Proof Setup device |
| interpolate | boolean | – | PostScript: interpolation |
| labels | boolean | – | Printing marks: print the document title |
| negative | boolean | – | Functions: negative |
| position | object | – | Position and scale on the page: centered, fit (scale to fit the media), or custom with x and y (pixels from the page's top-left) and scale (percent) |
| printSpace | string | – | Printer profile (print space) name; empty string for the same as the source |
| printer | string | – | Printer name, from get_print_options |
| registrationMarks | boolean | – | Printing marks: registration marks |
| renderingIntent | string | – | Rendering intent when the print space differs from the source |
| vectorData | boolean | – | PostScript: include vector data |
No output schema declared.
No examples provided.
set_proof_view Set Proof View ~112
Soft-proof the active document: choose a Proof Setup preset (View > Proof Setup: working CMYK or one plate, legacy Mac RGB, sRGB, monitor RGB, colour-blindness types), and toggle View > Proof Colors and View > Gamut Warning. The toggles switch the current state, which scripts cannot read
| Name | Type | Req | Description |
|---|---|---|---|
| preset | string | – | Proof Setup preset |
| toggleGamutWarning | boolean | – | Toggle Gamut Warning |
| toggleProofColors | boolean | – | Toggle Proof Colors |
No output schema declared.
No examples provided.
set_quick_mask Set Quick Mask ~52
Turn Quick Mask Mode on (the selection becomes a red overlay that painting edits) or off (the overlay becomes the selection again)
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | true enters Quick Mask Mode, false leaves it |
No output schema declared.
No examples provided.
set_smart_filter_visibility Set Smart Filter Visibility ~112
Turn one Smart Filter on a smart object, or all of them, off or on (the eye icons under the layer in the Layers panel)
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Which filter, 1 = the first listed by get_smart_object_info. Default all |
| target | object | – | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true. Default the active layer |
| visible | boolean | yes | true shows, false hides |
No output schema declared.
No examples provided.
set_stack_mode Set Stack Mode ~88
Render a multi-layer smart object with a statistical stack mode (Layer > Smart Objects > Stack Mode), for example median to remove moving objects or mean to reduce noise. Give several aligned layers and they are first converted into one smart object (an image stack)
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | yes | – |
| target | object | – | A smart object, or the layers to stack. Default the active layer |
No output schema declared.
No examples provided.
set_text Set Text ~334
Change a type layer's text and/or formatting (applied to the whole layer), its position, and its warp (Type > Warp Text)
| Name | Type | Req | Description |
|---|---|---|---|
| baselineShift | number | – | Pixels |
| capitalization | string | – | – |
| color | string | – | "#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)" |
| fauxBold | boolean | – | – |
| fauxItalic | boolean | – | – |
| font | string | – | PostScript font name (list_fonts), e.g. "MyriadPro-Regular" |
| horizontalScale | number | – | Percent |
| justification | string | – | – |
| leading | number | – | Pixels; turns auto leading off |
| size | number | – | Pixels |
| strikethrough | boolean | – | – |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| text | string | – | – |
| tracking | number | – | Thousandths of an em |
| underline | boolean | – | – |
| verticalScale | number | – | Percent |
| warp | string | – | – |
| warpBend | number | – | – |
| warpHorizontalDistortion | number | – | – |
| warpVerticalDistortion | number | – | – |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
set_timeline Set Timeline ~166
Set the timeline: show or hide the Timeline panel, set the frame rate (Set Timeline Frame Rate), move the playhead to a time or Go To a frame or the work area, and choose the Layers panel's Animation Options
| Name | Type | Req | Description |
|---|---|---|---|
| animationOptions | string | – | Layers panel Animation Options: automatic, always_show or always_hide the unified layer buttons |
| frameRate | number | – | Timeline frame rate in frames per second |
| goTo | string | – | Move the playhead instead: first or last frame, one frame or one second forward or back, or the work area start or end |
| panel | string | – | Show or hide the Timeline panel (Window > Timeline) |
| time | object | – | Move the playhead (current-time indicator) to this time |
No output schema declared.
No examples provided.
set_tool_options Set Tool Options ~505
Choose the active tool and set its options bar: a brush preset (Brushes panel or the Brush Preset picker), size, hardness, opacity, flow, blend mode, the tablet pressure buttons for size and opacity, Smoothing and its options (Pulled String Mode, Stroke Catch-up, Catch-up on Stroke End, Adjust for Zoom), the Mixer Brush's Wet, Mix and Sample All Layers, Tolerance and Contiguous (Color Replacement, Paint Bucket, Magic Eraser), and the painting cursor style (Preferences > Cursors). The Mixer Brush, Spot Healing Brush and Red Eye tools can be made active here; painting with them stays on the canvas. stroke_path paints with these settings; set_brush_settings covers the Brush Settings panel. Returns the tool's options afterwards
| Name | Type | Req | Description |
|---|---|---|---|
| adjustForZoom | boolean | – | Smoothing options: Adjust for Zoom |
| catchUpOnStrokeEnd | boolean | – | Smoothing options: Catch-up on Stroke End |
| contiguous | boolean | – | Contiguous (Paint Bucket, Magic Eraser) |
| flow | integer | – | Tool flow, percent |
| hardness | number | – | Brush hardness, percent |
| mix | number | – | Mixer Brush: Mix, percent |
| mode | string | – | Blend mode (options bar Mode) of a painting tool, the Paint Bucket or the Magic Eraser |
| opacity | integer | – | Tool opacity, percent |
| paintingCursors | string | – | How painting cursors look |
| preset | string | – | Brush preset name, as the Brushes panel lists it |
| pressureControlsOpacity | boolean | – | Options bar button: pen pressure controls opacity |
| pressureControlsSize | boolean | – | Options bar button: pen pressure controls size, overriding the Brush Settings panel |
| pulledStringMode | boolean | – | Smoothing options: Pulled String Mode |
| sampleAllLayers | boolean | – | Sample All Layers (Mixer Brush and other tools that have it) |
| size | number | – | Brush diameter in pixels |
| smoothing | number | – | Stroke Smoothing, percent (options bar) |
| strokeCatchUp | boolean | – | Smoothing options: Stroke Catch-up |
| tolerance | number | – | Tolerance: percent (1-100) for the Color Replacement tool, 0-255 for the Paint Bucket and Magic Eraser |
| tool | string | – | Tool to make active. Default the current tool |
| wet | number | – | Mixer Brush: Wet, percent |
No output schema declared.
No examples provided.
set_type_options Set Type Options ~473
Set Character and Paragraph panel options on type layers: anti-aliasing, text and warp orientation (vertical type), kerning, language, No Break, OpenType ligatures and oldstyle figures, the paragraph type box size, indents, paragraph spacing, hyphenation, justification spacing, hanging punctuation and the composer
| Name | Type | Req | Description |
|---|---|---|---|
| antiAlias | string | – | Anti-aliasing method (Type > Anti-Alias) |
| boxHeight | number | – | Paragraph type: bounding box height in pixels |
| boxWidth | number | – | Paragraph type: bounding box width in pixels |
| composer | string | – | Adobe Every-line or Single-line Composer (Paragraph panel menu) |
| discretionaryLigatures | boolean | – | OpenType Discretionary Ligatures (Character panel) |
| firstLineIndent | number | – | Indent first line in pixels (Paragraph panel) |
| hangingPunctuation | boolean | – | Roman Hanging Punctuation (Paragraph panel menu) |
| hyphenate | boolean | – | Hyphenate (Paragraph panel) |
| hyphenation | object | – | Hyphenation dialog (Paragraph panel menu > Hyphenation) |
| justificationSpacing | object | – | Justification dialog (Paragraph panel menu > Justification) |
| kerning | string | – | Kerning (Character panel): metrics, optical or manual |
| language | string | – | Language for hyphenation and spelling (Character panel) |
| leftIndent | number | – | Indent left margin in pixels (Paragraph panel) |
| ligatures | boolean | – | OpenType Standard Ligatures (Character panel) |
| noBreak | boolean | – | No Break: keep words from breaking at line ends (Character panel menu) |
| oldStyle | boolean | – | OpenType Oldstyle figures (Character panel) |
| orientation | string | – | Text orientation (Type > Orientation): vertical gives vertical type |
| rightIndent | number | – | Indent right margin in pixels (Paragraph panel) |
| spaceAfter | number | – | Add space after paragraph, pixels (Paragraph panel) |
| spaceBefore | number | – | Add space before paragraph, pixels (Paragraph panel) |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| warpOrientation | string | – | Orientation of the warp (Warp Text dialog) |
No output schema declared.
No examples provided.
set_zoom_and_screen_mode Set Zoom And Screen Mode ~82
Zoom the active document (View > Zoom In, Zoom Out, Fit on Screen, 100%, 200%, Print Size) and choose the screen mode (View > Screen Mode: standard, full screen with menu bar, full screen)
| Name | Type | Req | Description |
|---|---|---|---|
| screenMode | string | – | The screen mode |
| zoom | string | – | The View menu zoom command |
No output schema declared.
No examples provided.
show_photoshop_panels Show Photoshop Panels ~188
Show or hide panels (Window menu), hide or show all panels at once (Tab), reset to the Essentials workspace, and use the Histogram panel menu (compact, expanded or all-channels view, statistics, channels in colour, uncached refresh) and the Info panel's Color Samplers item
| Name | Type | Req | Description |
|---|---|---|---|
| hide | array | – | Panels to hide |
| histogramView | string | – | Histogram panel view |
| refreshHistogram | boolean | – | Histogram panel Uncached Refresh |
| show | array | – | Panels to show |
| toggleAllPanels | boolean | – | Hide all panels, or show them again (Application.togglePalettes) |
| toggleHistogram | array | – | Histogram panel options to toggle |
| toggleInfoColorSamplers | boolean | – | Toggle the Info panel menu's Color Samplers item |
| workspace | string | – | Switch to Window > Workspace > Essentials (Default) |
No output schema declared.
No examples provided.
split_channels Split Channels ~38
Split the image into one grayscale document per channel (Channels panel > Split Channels). The original closes; the image must be flattened first (flatten_image)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
stroke_path Stroke Path ~194
Paint along a path on the active layer with a painting or retouching tool, using that tool's current brush and options (Paths panel > Stroke Path). Give a path from the Paths panel or points for a temporary one. Set the brush first with set_tool_options. Clone Stamp and Healing Brush need cloneSource
| Name | Type | Req | Description |
|---|---|---|---|
| cloneSource | object | – | Clone Stamp and Healing Brush: where to sample from, as Alt-clicking does |
| closed | boolean | – | With points: close the temporary path. Default false |
| path | string | – | Name of a path in the Paths panel |
| points | array | – | Instead of path: corners of a temporary path, [[x, y], ...] in pixels. It is removed afterwards |
| simulatePressure | boolean | – | Taper the stroke as if drawn with a pressure-sensitive pen. Default false |
| tool | string | yes | The tool to paint with |
No output schema declared.
No examples provided.
stroke_selection Stroke Selection ~166
Stroke the selection's edge on the active layer (Edit > Stroke): colour, width in pixels, inside, centre or outside, blend mode and opacity
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Default normal |
| color | string | – | "#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)". Default the foreground colour |
| location | string | – | Default center |
| opacity | number | – | – |
| preserveTransparency | boolean | – | – |
| width | number | yes | – |
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.