Photoshop MCP Server
NPM · ADOBE-MCP-PHOTOSHOP
Drive Adobe Photoshop from any MCP client: layers, selections, adjustments, type and export.
Available components
Last scanned (10 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 →
edit_frame_animation Edit Frame Animation ~167
Edit a frame animation (Timeline panel in frame mode): new, delete, copy, paste, reverse or tween frames, select a frame, make frames from layers, flatten frames into layers, match a layer across frames, delete the animation, and the New Layers options. Tween and Paste Frames use the dialog's last settings
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The command to run on the selected frames |
| frame | integer | – | For select_frame: the frame number, 1 for the first |
| matchPosition | boolean | – | For match_layer: match the active layer's position. Default true |
| matchStyle | boolean | – | For match_layer: match its layer style. Default true |
| matchVisibility | boolean | – | For match_layer: match its visibility. Default true |
No output schema declared.
No examples provided.
edit_history Edit History ~123
Change the history: revert to the last save (File > Revert), delete a state or snapshot, clear the history, make a new document from a state, set the history brush source or pick the History Brush tool (History panel), or purge every document's history (Edit > Purge > Histories). Clearing and purging cannot be undone
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | delete_state, set_brush_source: the state or snapshot (index from list_history). new_document: the state to copy. Default the current state |
| operation | string | yes | – |
No output schema declared.
No examples provided.
edit_layer_mask Edit Layer Mask ~222
Work with layer masks (Layer > Layer Mask and the Layers panel): add a mask (Reveal All, Hide All, Reveal Selection or Hide Selection), apply it to the pixels, delete it, disable or enable it, link or unlink it from the layer, invert it, target the mask or the layer content for editing, load the mask as a selection, or copy or move it to another layer
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| invert | boolean | – | load_selection: select the hidden area instead |
| reveal | string | – | add: what the new mask shows. Default reveal_selection when there is a selection, otherwise reveal_all |
| showAlone | boolean | – | target_mask: show the mask by itself in the document window |
| target | object | – | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true. Default the active layer |
| to | integer | – | copy_to, move_to: id of the layer that receives the mask; it must not have one |
No output schema declared.
No examples provided.
edit_path_points Edit Path Points ~341
Edit a path's anchor points, as the Add Anchor Point, Delete Anchor Point, Convert Point and Direct Selection tools do: add a point (splitting a segment in half without changing its shape, or at a position), delete one, move a point or its direction handles, convert it between smooth and corner, or change a component's path operation. The path is rebuilt under its name; a work path becomes a saved path
| Name | Type | Req | Description |
|---|---|---|---|
| component | integer | – | Component (subpath) index from list_paths. Default 0 |
| handleIn | object | – | Direction point of the arriving segment, pixels |
| handleOut | object | – | Direction point of the leaving segment, pixels |
| kind | string | – | convert_point: smooth computes handles from the neighbouring points unless handles are given; corner retracts the handles unless handles are given |
| operation | string | yes | The edit |
| path | string | – | Path name, as in the Paths panel (list_paths) |
| pathIndex | integer | – | Path index from list_paths, instead of its name |
| pathOperation | string | – | set_operation: combine, subtract, intersect or exclude |
| point | integer | – | Point index in the component. add_point: without x and y, splits the segment after this point; with them, inserts the new point at this index |
| smooth | boolean | – | add_point with x and y: make a smooth point. Default false |
| x | number | – | add_point and move_point: anchor position, pixels from the left |
| y | number | – | add_point and move_point: anchor position, pixels from the top |
No output schema declared.
No examples provided.
edit_photoshop_guides Edit Photoshop Guides ~224
Work with guides in the active document (View > Guides): add guides at pixel positions, lay out columns, rows and margins (New Guide Layout), make guides from the selected shape layer (New Guides From Shape), clear all guides or only canvas guides, or clear slices (View > Clear Slices). Returns the guides afterwards
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
| clearExisting | boolean | – | layout: remove existing guides first. Default true |
| columns | integer | – | layout: number of columns |
| direction | string | – | add: guide direction |
| gutter | number | – | layout: space between columns and between rows, in pixels. Default 0 |
| margin | object | – | layout: margins in pixels; a guide is placed at each margin given |
| positions | array | – | add: pixel positions from the top (horizontal) or left (vertical) edge |
| rows | integer | – | layout: number of rows |
| target | object | – | from_shape: the shape layer. Default the active layer |
No output schema declared.
No examples provided.
edit_smart_object Edit Smart Object ~208
Smart object commands (Layer > Smart Objects): New Smart Object via Copy, Edit Contents (opens the source as the active document; save and close it to update the layer), Replace Contents, Export Contents, Relink to File (also resolves a broken link), Update Modified Content, Update All Modified Content, Embed Linked, Embed All Linked, Convert to Linked, Reset Transform, Convert to Layers, and choosing which layer comp of the placed document shows (Properties panel)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| comp | string | – | set_layer_comp: name of a layer comp in the placed document (get_smart_object_info lists them) |
| file | string | – | Absolute path. replace_contents and relink: the source file to use; export_contents and convert_to_linked: the file to write |
| page | integer | – | replace_contents: page of a multi-page file (PDF, Illustrator) |
| target | object | – | One smart object layer. Default the active layer |
No output schema declared.
No examples provided.
edit_vector_mask Edit Vector Mask ~116
Work with vector masks (Layer > Vector Mask): make one from a path (Current Path), disable or enable it, or delete it. Rasterize a vector mask with rasterize_layers
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| path | string | – | create_from_path: the path's name in the Paths panel. Default the selected path or work path |
| 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.
execute_photoshop_code Execute Photoshop Code ~59
Run your own ExtendScript in Photoshop and return its last expression. It runs unrestricted: it can change or delete anything and read or write files. Prefer the specific tools
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ExtendScript (ES3) source |
No output schema declared.
No examples provided.
export_artboards Export Artboards ~185
Save each artboard as its own file, cropped to the artboard with its background, as PNG, JPEG, PSD, TIFF or PDF (File > Export > Artboards to Files), or all of them as one multi-page PDF (Artboards to PDF). The document is not changed
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | Absolute folder path |
| format | string | – | Default png |
| includeBackground | boolean | – | Fill with the artboard background colour (unless it is transparent). Default true |
| pdfName | string | – | singlePdf: the PDF file name. Default the document name |
| prefix | string | – | Text before each artboard name in the file names |
| singlePdf | boolean | – | pdf: one multi-page PDF instead of one PDF per artboard. Default false |
| target | object | – | Only these artboards. Default all |
No output schema declared.
No examples provided.
export_image Export Image ~295
Export the document as one PNG, PNG-8, JPEG or GIF file (Save for Web), optionally resized. Works on a temporary copy, so the document is unchanged
| Name | Type | Req | Description |
|---|---|---|---|
| blur | number | – | JPEG: blur before compressing, 0-2 pixels, to make the file smaller |
| colorReduction | string | – | PNG-8 and GIF. Default selective |
| colors | integer | – | PNG-8 and GIF colours. Default 256 |
| dither | string | – | PNG-8 and GIF. Default diffusion |
| format | string | – | png (PNG-24), png8, jpeg or gif. Default png |
| height | number | – | Resize the export to this height in pixels (width follows) |
| includeProfile | boolean | – | Embed the colour profile. Default false |
| interlaced | boolean | – | Default false |
| lossy | integer | – | GIF: lossy compression, 0-100 |
| outputFile | string | yes | Absolute path; the extension must match the format |
| quality | integer | – | JPEG quality, 0-100. Default 80 |
| transparency | boolean | – | Keep transparency (PNG, GIF). Default true |
| webSnap | integer | – | PNG-8 and GIF: shift colours to web-safe ones within this tolerance, percent |
| width | number | – | Resize the export to this width in pixels (height follows) |
No output schema declared.
No examples provided.
export_layer_comps Export Layer Comps ~273
Export layer comps, each to its own file (File > Export > Layer Comps to Files) or as the pages of one PDF (Layer Comps to PDF). The document is returned to its state before the export
| Name | Type | Req | Description |
|---|---|---|---|
| advanceSeconds | number | – | pdf: Slideshow: advance every this many seconds |
| comps | array | – | Layer comp names. Default all |
| fileType | string | – | files: psd, tiff, jpeg (default), png or pdf |
| includeFilename | boolean | – | pdf: Print each file's name on its page |
| loop | boolean | – | pdf: Slideshow: loop after the last page |
| magnification | string | – | pdf: Slideshow: page view |
| outputFile | string | – | pdf: absolute path ending in .pdf |
| outputFolder | string | – | files: absolute folder path |
| prefix | string | – | files: file name prefix; each file is <prefix><comp name> |
| quality | integer | – | JPEG quality, 0-12. Default 10 |
| slideshow | boolean | – | pdf: A full-screen slideshow instead of a multi-page document. Default false |
| to | string | – | Default files |
| transition | string | – | pdf: Slideshow: transition between pages |
No output schema declared.
No examples provided.
export_layers Export Layers ~347
Export each top-level layer or group (or the ones chosen) to its own file, named <prefix><layer name>.<ext>, by showing one at a time on a temporary copy (File > Export > Layers to Files)
| Name | Type | Req | Description |
|---|---|---|---|
| blur | number | – | JPEG: blur before compressing, 0-2 pixels, to make the file smaller |
| colorReduction | string | – | PNG-8 and GIF. Default selective |
| colors | integer | – | PNG-8 and GIF colours. Default 256 |
| dither | string | – | PNG-8 and GIF. Default diffusion |
| format | string | – | png (PNG-24), png8, jpeg or gif. Default png |
| height | number | – | Resize the export to this height in pixels (width follows) |
| ids | array | – | Top-level layer or group ids. Default all visible ones |
| includeProfile | boolean | – | Embed the colour profile. Default false |
| interlaced | boolean | – | Default false |
| lossy | integer | – | GIF: lossy compression, 0-100 |
| outputFolder | string | yes | Absolute folder path |
| prefix | string | – | File name prefix |
| quality | integer | – | JPEG quality, 0-100. Default 80 |
| transparency | boolean | – | Keep transparency (PNG, GIF). Default true |
| trim | boolean | – | Trim each export to the layer's pixels. Default false |
| webSnap | integer | – | PNG-8 and GIF: shift colours to web-safe ones within this tolerance, percent |
| width | number | – | Resize the export to this width in pixels (height follows) |
No output schema declared.
No examples provided.
export_paths_to_illustrator Export Paths To Illustrator ~82
Export paths as an Adobe Illustrator file (File > Export > Paths to Illustrator): all paths, one named path, or just the document bounds
| Name | Type | Req | Description |
|---|---|---|---|
| outputFile | string | yes | Absolute path ending in .ai |
| pathName | string | – | named: the path's name in the Paths panel |
| paths | string | – | Default all |
No output schema declared.
No examples provided.
fade_filter Fade Filter ~69
Fade the filter, adjustment or paint stroke just applied: blend it with what was there before at an opacity and blend mode (Edit > Fade). Only works directly after that edit
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | Blend mode. Default normal |
| opacity | number | yes | Percent of the edit to keep |
No output schema declared.
No examples provided.
fill_at_point Fill At Point ~273
Fill (Paint Bucket tool) or erase (Magic Eraser tool) the area of similar colour around a point on the active layer, within the selection if there is one. Erasing on the Background layer turns it into an ordinary layer, as the Magic Eraser does
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| antiAlias | boolean | – | Smooth the edge. Default true |
| blendMode | string | – | Fill only. 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)". Fill only. Default the foreground colour |
| contiguous | boolean | – | Only connected pixels. Default true |
| opacity | number | – | Percent. Default 100 |
| sampleAllLayers | boolean | – | Judge colours from all visible layers. Default false |
| tolerance | integer | – | How different a colour may be and still be included. Default 32 |
| x | number | yes | Pixels from the left |
| y | number | yes | Pixels from the top |
No output schema declared.
No examples provided.
fill_contents Fill Contents ~571
Fill the selection (or the whole layer when nothing is selected) on the active layer with the foreground or background colour, black, 50% gray, white, a pattern, a History state, or Content-Aware fill (Edit > Fill). A pattern fill can run one of the scripted patterns Photoshop ships (Edit > Fill > Pattern > Script: Brick Fill, Cross Weave, Place Along Path, Random Fill, Symmetry Fill) with its settings given here instead of in its dialog. Content-Aware needs a selection and fills it directly, without the Content-Aware Fill workspace. For a specific colour use fill_selection
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Blend mode. Default normal |
| colorAdaptation | boolean | – | Content-Aware: blend the fill's colour with its surroundings. Default true |
| contents | string | yes | What to fill with; gray is 50% gray |
| historyIndex | integer | – | History state to fill from (list_history), for contents history. Default 0, the opening state |
| mirror | boolean | – | Content-Aware: allow mirrored samples. Default false |
| opacity | number | – | Percent. Default 100 |
| pattern | string | – | Pattern name (from the Patterns panel), for contents pattern |
| preserveTransparency | boolean | – | Leave transparent pixels transparent. Default false |
| rotationAdaptation | boolean | – | Content-Aware: allow rotated samples. Default false |
| scale | boolean | – | Content-Aware: allow scaled samples. Default false |
| script | string | – | Contents pattern: lay the pattern out with this scripted pattern (the Script option) |
| scriptOptions | object | – | With script: the script's settings; any left out keep the script's defaults, and values beyond what the script allows are clamped. brick_fill: patternScale, spacing, offset, colorRandomness, brightne… |
| scriptPath | string | – | With script place_along_path (required) or random_fill: the path in the Paths panel to place the pattern along |
No output schema declared.
No examples provided.
fill_path Fill Path ~241
Fill the area inside a path on the active layer with a colour (Paths panel > Fill Path), with blend mode, opacity, feather and anti-aliasing. Give a path from the Paths panel or points for a temporary one
| Name | Type | Req | Description |
|---|---|---|---|
| antiAlias | boolean | – | Default true |
| 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 |
| feather | number | – | Pixels. Default 0 |
| opacity | number | – | Percent. Default 100 |
| 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 |
| preserveTransparency | boolean | – | Default false |
No output schema declared.
No examples provided.
fill_selection Fill Selection ~145
Fill the selection on the active layer with a colour (Edit > Fill), with a blend mode, opacity and optionally preserving transparency
| 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 |
| opacity | number | – | – |
| preserveTransparency | boolean | – | – |
No output schema declared.
No examples provided.
fill_type_with_image Fill Type With Image ~83
Fill type with an image: move an image layer directly above a type layer and clip it to the type (Layer > Create Clipping Mask), so the image shows only through the letters
| Name | Type | Req | Description |
|---|---|---|---|
| image | object | yes | The image layer to show through the type (one pixel or smart object layer) |
| target | object | yes | The type layer (one layer) |
No output schema declared.
No examples provided.
find_replace_layer_text Find Replace Layer Text ~137
Find and replace text in type layers (Edit > Find and Replace Text), keeping each layer's formatting. Searches every visible, unlocked type layer, or one layer. Line breaks in the replacement start new paragraphs
| Name | Type | Req | Description |
|---|---|---|---|
| caseSensitive | boolean | – | Match case. Default false |
| find | string | yes | Text to find |
| ignoreAccents | boolean | – | Ignore accents. Default false |
| replace | string | yes | Replacement text; empty deletes the matches |
| target | object | – | Search only this type layer instead of all of them (one layer) |
| wholeWord | boolean | – | Whole words only. Default false |
No output schema declared.
No examples provided.
flatten_image Flatten Image ~46
Flatten every layer into a background layer (Layer > Flatten Image), or merge only the visible layers (Merge Visible)
| Name | Type | Req | Description |
|---|---|---|---|
| visibleOnly | boolean | – | Merge visible layers only. Default false |
No output schema declared.
No examples provided.
generate_image Generate Image ~105
Generate Image (Edit > Generate Image): create an image from a text prompt as a new layer filling the active document. Needs Photoshop signed in to an Adobe account and an internet connection; uses generative credits
| Name | Type | Req | Description |
|---|---|---|---|
| contentType | string | – | Content type: none (automatic, default), photo or art |
| prompt | string | yes | What to generate, in English |
| seed | integer | – | Seed for repeatable results; -1 (default) picks one at random |
No output schema declared.
No examples provided.
generate_image_assets Generate Image Assets ~163
Set up Generator image assets (File > Generate > Image Assets): name layers with asset specs such as "icon.png", "200% hero@2x.png24" or "50x50 thumb.jpg80%" so Generator writes them to a folder next to the PSD, set the document-wide defaults layer ("default 200% @2x/"), and turn Image Assets on or off for the document
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | – | Layers to name as assets |
| defaults | string | – | Document-wide defaults written as an empty layer named "default <defaults>", e.g. "200% @2x/, 50% small/" |
| toggle | boolean | – | Switch Image Assets generation on or off for the document (it is a toggle). Default false |
No output schema declared.
No examples provided.
generative_fill Generative Fill ~139
Generative Fill (Edit > Generative Fill) inside the current selection: generate content from a prompt, or with an empty prompt remove what is selected and fill from the surroundings. Results go to a new Generative Layer. Needs a selection, Photoshop signed in to an Adobe account and an internet connection; uses generative credits
| Name | Type | Req | Description |
|---|---|---|---|
| contentType | string | – | Content type: none (automatic, default), photo or art |
| prompt | string | – | What to generate in the selection; empty or omitted to remove the selected content |
| seed | integer | – | Seed for repeatable results; -1 (default) picks one at random |
No output schema declared.
No examples provided.
get_artboards Get Artboards ~40
List the active document's artboards with id, name, position and size in pixels, layer count and background (Artboard properties in the Properties panel)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_document_info Get Document Info ~43
Describe the active document: size in pixels, resolution, mode, bit depth, colour profile, layer count, active layer, channels, guides, selection bounds and history
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_document_metadata Get Document Metadata ~66
Read the active document's File Info metadata: title, author, description, keywords, copyright, IPTC origin, categories, the camera data (Exif), and optionally the raw XMP packet
| Name | Type | Req | Description |
|---|---|---|---|
| includeXmp | boolean | – | Include the raw XMP packet. Default false |
No output schema declared.
No examples provided.
get_histogram Get Histogram ~71
Read the histogram (Histogram panel) of the composite image or of one channel: the pixel count at each of the 256 levels, with the total, mean and median
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Channel name, e.g. "Red" or an alpha channel (list_channels). Default the composite |
No output schema declared.
No examples provided.
get_layer_effects Get Layer Effects ~87
Describe layers' styles: whether effects are shown, and each effect and instance with whether it is on and, with detail, all its settings
| Name | Type | Req | Description |
|---|---|---|---|
| detail | boolean | – | Include every setting of each effect |
| 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.
get_photoshop_info Get Photoshop Info ~104
Describe the running Photoshop (About Photoshop, System Info): version, build, locale, free memory, the preferences folder, the file types it opens, the script dialog mode, and optionally the full System Info report or whether named features are enabled
| Name | Type | Req | Description |
|---|---|---|---|
| features | array | – | Feature names to check with Application.featureEnabled, e.g. "photoshop/extended" |
| systemInfo | boolean | – | Include the Help > System Info report (long). Default false |
No output schema declared.
No examples provided.
get_photoshop_preferences Get Photoshop Preferences ~66
Read Photoshop's preferences (Photoshop > Settings, or Edit > Preferences on Windows) that scripts can reach: general, interface, file handling, performance, cursors, transparency, units and rulers, guides and grid, plug-ins, type, and the script dialog mode
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_print_options Get Print Options ~52
Read the active document's print settings (File > Print): the printer and the printers available, copies, colour handling, print space, rendering intent, position and scale, printing marks, functions and PostScript options
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_smart_object_info Get Smart Object Info ~86
Describe smart object layers: whether they are linked or embedded, their source file, the layer comps of the placed document and which one shows, and their Smart Filters in order with whether each is on
| Name | Type | Req | Description |
|---|---|---|---|
| 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.
get_timeline Get Timeline ~47
Describe the document's timeline (Timeline panel): frame rate, playhead time, duration and work area when Photoshop reports them, the frame count in frame animation mode, and the video layers
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
go_to_bridge Go To Bridge ~65
Open Adobe Bridge (File > Browse in Bridge), or close the active document and switch to Bridge (File > Close and Go to Bridge). Needs Bridge installed
| Name | Type | Req | Description |
|---|---|---|---|
| closeDocument | boolean | – | Close the active document first. It must have no unsaved changes. Default false |
No output schema declared.
No examples provided.
group_layers Group Layers ~71
Put layers into a new group (Layer > Group Layers), placed where the first of them was; they keep the order given
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | – |
| 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.
harmonize_layer Harmonize Layer ~106
Harmonize a layer with the image beneath it (the Properties panel's Harmonize): match its light, colour and shadows to the background. Results go to a new layer. Needs Photoshop signed in to an Adobe account and an internet connection; uses generative credits
| Name | Type | Req | Description |
|---|---|---|---|
| seed | integer | – | Seed for repeatable results; -1 (default) picks one at random |
| target | object | – | The layer to harmonize (the first one given). Default the active layer |
No output schema declared.
No examples provided.
help Help ~30
List the tools by area, or describe one tool's parameters
| Name | Type | Req | Description |
|---|---|---|---|
| tool | string | – | A tool name |
No output schema declared.
No examples provided.
import_video_frames Import Video Frames ~148
Import a video file's frames as layers of a new document, optionally as a frame animation (File > Import > Video Frames to Layers)
| Name | Type | Req | Description |
|---|---|---|---|
| endTime | object | – | Import up to this time. Default the end |
| file | string | yes | Absolute path of the video file |
| frameRate | number | – | The video's frame rate, which the frames in startTime and endTime count in. Default 30 |
| frameSkip | integer | – | Keep every Nth frame (Limit To Every N Frames) |
| makeAnimation | boolean | – | Make a frame animation from the layers. Default false |
| startTime | object | – | Import from this time. Default the start |
No output schema declared.
No examples provided.
layer_comps Layer Comps ~192
Work with layer comps (Layer Comps panel): list, create, apply, update (recapture) or delete one; apply the previous or next comp; change a comp's options (Layer Comp Options); duplicate a comp; go back to the Last Document State; or clear a comp's warning (Clear Layer Comp Warning; every comp when no name is given)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| appearance | boolean | – | create, options: record layer appearance (layer styles) |
| comment | string | – | create, options: the comp's comment |
| name | string | – | The comp to act on (create: the new comp's name) |
| newName | string | – | options: rename the comp to this; duplicate: name for the copy |
| position | boolean | – | create, options: record layer position |
| visibility | boolean | – | create, options: record layer visibility |
No output schema declared.
No examples provided.
link_layers Link Layers ~60
Link layers together so they move and transform as one, or unlink 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 |
| unlink | boolean | – | – |
No output schema declared.
No examples provided.
list_action_sets List Action Sets ~50
List the Actions panel's action sets and the actions in each, optionally with each action's recorded steps (Window > Actions)
| Name | Type | Req | Description |
|---|---|---|---|
| steps | boolean | – | Include each action's step names. Default false |
No output schema declared.
No examples provided.
list_channels List Channels ~46
List the Channels panel: each channel's name, kind (component, alpha masked or selected areas, spot colour), visibility, opacity or spot solidity, colour, and whether it is targeted
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_documents List Documents ~34
List open documents with their size in pixels, resolution, colour mode, bit depth, file and whether they have unsaved changes
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_fonts List Fonts ~41
List installed fonts with their PostScript name, family and style, filtered by a search string
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | – | – |
No output schema declared.
No examples provided.
list_history List History ~23
List the History panel's states and snapshots, and which one is current
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_layers List Layers ~92
List the layers and groups, top to bottom, with id, name, kind (pixel, text, smart object, adjustment, shape...), visibility, opacity, blend mode, lock, bounds in pixels and parent group. Ids are what other tools take in target.ids
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | How many group levels to descend. Default all |
| group | integer | – | Only inside this group (id) |
No output schema declared.
No examples provided.
list_paths List Paths ~112
List the Paths panel: each path's index, name and kind (saved path, work path, clipping path, vector or type mask) and its number of components; optionally every component's anchor points and direction handles, in pixels
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | – | Path name, as in the Paths panel (list_paths) |
| pathIndex | integer | – | Path index from list_paths, instead of its name |
| points | boolean | – | Include each component's operation, closed state and anchor points. Default false |
No output schema declared.
No examples provided.
lock_layers Lock Layers ~124
Apply locks to layers, optionally to every layer inside the target groups (Layer > Lock Layers, Lock All Layers in Group). Locks not listed are turned off; an empty list unlocks
| Name | Type | Req | Description |
|---|---|---|---|
| includeGroupContents | boolean | – | Also lock every layer inside target groups |
| locks | array | yes | all, pixels (image pixels), position, transparency (transparent pixels), artboard (prevent auto-nesting). [] unlocks |
| 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.
make_pdf_presentation Make PDF Presentation ~271
Combine image files into one multi-page PDF or a full-screen PDF slideshow (File > Automate > PDF Presentation), in the order given (a file may repeat), optionally adding the open documents, with slideshow timing, looping and transitions, file names on the pages, and Photoshop PDF save options
| Name | Type | Req | Description |
|---|---|---|---|
| advanceSeconds | number | – | Slideshow: advance every this many seconds |
| files | array | – | Absolute paths of the source files, in page order |
| includeFilename | boolean | – | Print each file's name on its page |
| includeOpenFiles | boolean | – | Add the open documents that have been saved (Add Open Files), after files. Default false |
| loop | boolean | – | Slideshow: loop after the last page |
| magnification | string | – | Slideshow: page view |
| outputFile | string | yes | Absolute path ending in .pdf |
| pdfOptions | object | – | Photoshop PDF options, as for save_document's PDF options |
| pdfPreset | string | – | Adobe PDF preset name, e.g. "[Smallest File Size]" |
| pdfStandard | string | – | PDF/X standard |
| slideshow | boolean | – | A full-screen slideshow instead of a multi-page document. Default false |
| transition | string | – | Slideshow: transition between pages |
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.