Photoshop MCP Server
NPM · ADOBE-MCP-PHOTOSHOP
Drive Adobe Photoshop from any MCP client: layers, selections, adjustments, type and export.
Available components
Last scanned (9 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 →
activate_tool Activate Tool ~91
Choose a tool in the Tools panel, such as a marquee, lasso, Quick Selection, Magic Wand, Crop, Perspective Crop, Eyedropper, Color Sampler, Ruler or Count tool, so it is ready for the user. Using a tool on the canvas is the user's; select_area, crop_image and manage_count_items do the same work by numbers
| Name | Type | Req | Description |
|---|---|---|---|
| tool | string | yes | – |
No output schema declared.
No examples provided.
add_video_layer Add Video Layer ~47
Add a blank video layer above the active layer, for frame-by-frame painting (Layer > Video Layers > New Blank Video Layer)
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Name for the new layer |
No output schema declared.
No examples provided.
add_video_transition Add Video Transition ~93
Add a transition (Fade, Cross Fade, Fade With Black or Fade With White) where two adjacent clips meet in the video timeline (Timeline panel transitions)
| Name | Type | Req | Description |
|---|---|---|---|
| duration | object | – | Transition length. Default 1 second |
| target | object | yes | The two adjacent clips (layers) to join |
| type | string | – | fade, cross_fade, fade_black or fade_white. Default cross_fade |
No output schema declared.
No examples provided.
adjust_layers Adjust Layers ~427
Apply an Image > Adjustments command to pixel layers (inside the selection, if there is one). This changes the pixels; it does not add an adjustment layer. auto_color_correction applies Auto with an algorithm from Auto Color Correction Options, once; match_color adjusts the layer on its own (Match Color with Source: None, RGB only); replace_color changes one colour and the colours within its fuzziness (Replace Color). Options by type: brightness_contrast (brightness, contrast, useLegacy); levels (inputBlack, inputWhite, gamma, outputBlack, outputWhite, channel, auto); curves (points, channel); color_balance (shadows, midtones, highlights, preserveLuminosity); photo_filter (color, density, preserveLuminosity, filter); shadows_highlights (shadowAmount, highlightAmount, shadowWidth, highlightWidth, shadowRadius, highlightRadius, colorCorrection, midtoneContrast, blackClip, whiteClip); posterize (levels); threshold (level); desaturate; invert; equalize; auto_levels; auto_contrast; auto_color; auto_color_correction (algorithm, snapNeutralMidtones); match_color (luminance, colorIntensity, fade, neutralize); replace_color (color, fuzziness, hue, saturation, lightness); exposure (exposure, offset, gamma); vibrance (vibrance, saturation); hue_saturation (hue, saturation, lightness, colorize, ranges); black_and_white (reds, yellows, greens, cyans, blues, magentas, tint, tintColor); channel_mixer (monochrome, red, green, blue, gray); selective_color (method, reds, yellows, greens, cyans, blues, magentas, whites, neutrals, blacks); gradient_map (gradient, reverse, dither, method)
| Name | Type | Req | Description |
|---|---|---|---|
| adjustment | string | yes | – |
| options | object | – | Settings for the chosen type; omitted settings use the defaults Photoshop opens its dialog with |
| target | object | – | Pixel layers. Default the active layer |
No output schema declared.
No examples provided.
align_layers Align Layers ~156
Align layers by their top, vertical centre, bottom, left, horizontal centre or right edges (Layer > Align), or distribute them evenly by those edges (Layer > Distribute; three or more layers). With toSelection, align them to the selection (Layer > Align Layers To Selection)
| Name | Type | Req | Description |
|---|---|---|---|
| distribute | boolean | – | Distribute instead of align. Default false |
| edge | string | yes | – |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| toSelection | boolean | – | Align to the current selection. Default false; Photoshop aligns to a selection whenever there is one, so without toSelection the call refuses when something is selected |
No output schema declared.
No examples provided.
apply_camera_raw_settings Apply Camera Raw Settings ~562
Apply Filter > Camera Raw Filter to layers without its dialog, with the settings of its panels: Basic (white balance, exposure, contrast, highlights, shadows, whites, blacks, texture, clarity, dehaze, vibrance, saturation), Curve (parametric regions and splits, point curves, refine saturation), Detail (sharpening, noise reduction), Color Mixer (HSL), Color Grading (wheels, blending, balance), Optics (lens vignetting, defringe), Effects (vignette, grain) and Masking (local corrections through linear gradient, radial gradient and luminance range masks; these replace any local corrections the filter had). On a smart object it is added as an editable smart filter; on a pixel layer it changes the pixels. Settings not given stay at Camera Raw's defaults
| Name | Type | Req | Description |
|---|---|---|---|
| colorGrading | object | – | Color Grading: shadows, midtones, highlights and global wheels { hue 0-360, saturation 0-100, luminance -100 to 100 }, blending 0-100 and balance -100 to 100 |
| hsl | object | – | Color Mixer, HSL: per colour range { hue, saturation, luminance }, each -100 to 100, e.g. { "blue": { "saturation": -30 } } |
| localCorrections | array | – | Masking: local corrections, each a mask and the sliders it applies. mask: { type: "linear", from: { x, y } (no effect), to: { x, y } (full effect) }, { type: "radial", bounds: { x, y, width, height }… |
| pointCurve | object | – | Curve, point curve per channel (rgb, red, green, blue): [[input, output], ...], 0-255, inputs increasing |
| settings | object | – | Camera Raw slider values. Temperature and tint are relative (-100 to 100) and set white balance to Custom |
| target | object | – | Pixel or smart object layers. Default the active layer |
| whiteBalance | string | – | Basic: White Balance. as_shot uses the camera's; custom goes with temperature and tint (the default when they are given) |
No output schema declared.
No examples provided.
apply_filter Apply Filter ~988
Apply a filter from the Filter menu to pixel layers (inside the selection, if there is one). The Filter Gallery filters (Artistic, Brush Strokes, Sketch, Texture, glowing_edges), filter_gallery (the whole gallery stack), shape_blur, mezzotint and adaptive_wide_angle have no options here: they use the settings last used in their dialog or the Filter Gallery. diffuse, extrude and lens_correction (Filter > Lens Correction) apply only the settings given; the rest keep the values last used in the dialog. Filters without an object-model method act through the active layer, which ends on the last target. Options by type: gaussian_blur (radius); motion_blur (angle, distance); smart_blur (radius, threshold, quality, mode); blur; blur_more; average; unsharp_mask (amount, radius, threshold); sharpen; sharpen_more; sharpen_edges; high_pass (radius); add_noise (amount, distribution, monochromatic); median (radius); despeckle; dust_and_scratches (radius, threshold); maximum (radius, preserve); minimum (radius, preserve); pinch (amount); twirl (angle); ocean_ripple (size, magnitude); diffuse_glow (graininess, glowAmount, clearAmount); offset (horizontal, vertical, undefinedAreas); clouds; difference_clouds; ntsc_colors; box_blur (radius); surface_blur (radius, threshold); shape_blur; lens_blur (source, focalDistance, invert, shape, radius, bladeCurvature, rotation, brightness, threshold, noiseAmount, noiseDistribution, monochromatic); radial_blur (amount, method, quality, center); field_blur (pins, highQuality, noiseAmount, noiseSize, noiseRoughness, randomSeed); reduce_noise (strength, preserveDetails, reduceColorNoise, sharpenDetails, removeJpegArtifacts); smart_sharpen (amount, radius, reduceNoise, remove, angle, shadowFade, shadowTonalWidth, shadowRadius, highlightFade, highlightTonalWidth, highlightRadius); displace (mapFile, horizontalScale, verticalScale, map, undefinedAreas); polar_coordinates (conversion); ripple (amount, size); shear (curve, undefinedAreas); spherize (a…
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | yes | – |
| options | object | – | Settings for the chosen type; omitted settings use the defaults Photoshop opens its dialog with |
| target | object | – | Pixel layers. Default the active layer |
No output schema declared.
No examples provided.
apply_image Apply Image ~162
Blend a source layer and channel, from this or another open document of the same pixel size, into the active layer (Image > Apply Image), with a blending mode, opacity, invert and preserve transparency; add and subtract take scale and offset. Works inside the selection when there is one
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Default normal |
| offset | integer | – | add and subtract: add this brightness. Default 0 |
| opacity | number | – | Percent. Default 100 |
| preserveTransparency | boolean | – | Default false |
| scale | number | – | add and subtract: divide the result by this. Default 1 |
| source | object | – | A source channel |
| target | object | – | The layer to change. Default the active layer |
No output schema declared.
No examples provided.
apply_matting Apply Matting ~90
Clean the edge pixels of a pixel layer (Layer > Matting): Defringe (replace fringe colours over a width in pixels), Remove Black Matte, Remove White Matte, or Color Decontaminate
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | yes | – |
| target | object | – | Pixel layers. Default the active layer |
| width | number | – | defringe: width in pixels. Default 1 |
No output schema declared.
No examples provided.
apply_neural_filter Apply Neural Filter ~198
Run a Neural Filter (Filter > Neural Filters) on the active layer without its workspace: Depth Blur, Style Transfer or Photo Restoration. The filter must already be downloaded in the Neural Filters panel; some filters process in the cloud and need a signed-in Adobe account
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | yes | The filter |
| options | object | – | Sliders, 0-100. depth_blur: aperture, focalDistance, focalRange, haze. style_transfer: brushSize, preserveWeight, blur. photo_restoration: enhance (Photo Enhancement), faceEnhance (Enhance Face), scr… |
| preserveColor | boolean | – | style_transfer: keep the image's colours. Default false |
| style | string | – | style_transfer: preset style id. Default "style28_crop" |
No output schema declared.
No examples provided.
apply_transform Apply Transform ~272
Transform layers or a path numerically, as Free Transform's options bar does: move, scale, rotate and skew (Edit > Transform > Skew) around a reference point; repeat the last transform (Edit > Transform > Again); or transform a duplicate, keeping the original. With path, transforms the path's points (Edit > Transform Path)
| Name | Type | Req | Description |
|---|---|---|---|
| again | boolean | – | Repeat the last transform instead of giving values (Transform Again) |
| anchor | string | – | Reference point. Default center |
| angle | number | – | Degrees, clockwise |
| duplicate | boolean | – | Layers: transform a copy of each layer, placed above it. Default false |
| dx | number | – | Move right, pixels |
| dy | number | – | Move down, pixels |
| path | string | – | A path name (Paths panel) to transform instead of layers |
| scaleX | number | – | Width, percent; negative flips |
| scaleY | number | – | Height, percent; negative flips |
| skewX | number | – | Horizontal skew, degrees |
| skewY | number | – | Vertical skew, degrees |
| target | object | – | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true. Each layer transforms around its own reference point |
No output schema declared.
No examples provided.
apply_trap Apply Trap ~52
Add trapping to a CMYK document (Image > Trap): overlaps between adjacent colours that hide misregistration on press. The document must be in CMYK mode
| Name | Type | Req | Description |
|---|---|---|---|
| width | number | yes | Trap width in pixels |
No output schema declared.
No examples provided.
arrange_layers Arrange Layers ~95
Change the stacking order: bring to front, bring forward, send backward, send to back, or place above, below or inside another layer or group
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | yes | – |
| relativeTo | integer | – | Layer or group id, for above, below and inside |
| 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.
arrange_photoshop_windows Arrange Photoshop Windows ~68
Arrange document windows (Window > Arrange): tile, 2-up to 6-up, consolidate to tabs, cascade, float, open a new window for the active document, or match zoom, location or rotation across windows
| Name | Type | Req | Description |
|---|---|---|---|
| layout | string | yes | The Window > Arrange command |
No output schema declared.
No examples provided.
assign_profile Assign Profile ~83
Assign a colour profile to the active document without converting its colour values (Edit > Assign Profile): a profile name, the working space, or none (Don't Color Manage). Use convert_profile to keep the appearance instead
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | yes | Profile name, e.g. "Adobe RGB (1998)", or "working" for the working space, or "none" |
No output schema declared.
No examples provided.
auto_align_layers Auto Align Layers ~132
Line up overlapping photos of the same scene (Edit > Auto-Align Layers) by their content, with the Auto or Perspective projection, optionally removing vignetting and correcting geometric distortion. Pixel layers only: not adjustment, vector or Smart Object layers
| Name | Type | Req | Description |
|---|---|---|---|
| geometricDistortion | boolean | – | Geometric Distortion correction. Default false |
| projection | string | – | Default auto |
| removeVignette | boolean | – | Vignette Removal. Default false |
| 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.
auto_blend_layers Auto Blend Layers ~127
Blend aligned layers into one seamless image (Edit > Auto-Blend Layers): a panorama, or a focus stack that keeps the sharpest areas of each layer, with Seamless Tones and Colors. RGB or Grayscale; not for Smart Objects, video, 3D or the background layer
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | Default panorama |
| seamlessTones | boolean | – | Seamless Tones and Colors. Default true |
| 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.
calculate_channels Calculate Channels ~113
Blend two source channels into a new alpha channel (Image > Calculations): each source is a layer (or merged) and channel, from this or another open document of the same pixel size, optionally inverted; with a blending mode and opacity
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Default multiply |
| name | string | – | Name for the new channel |
| opacity | number | – | Percent. Default 100 |
| source1 | object | yes | A source channel |
| source2 | object | yes | A source channel |
No output schema declared.
No examples provided.
change_mode Change Mode ~148
Convert the image to another colour mode (Image > Mode): RGB, CMYK, Grayscale, Lab, Bitmap, Indexed Color or Multichannel, and/or another bit depth. Indexed Color takes the palette, colours, forced colours, transparency, matte and dither of its dialog; Bitmap (from Grayscale) takes the method, output resolution and halftone screen. Returns the document with its mode. Converting can flatten or discard information
| Name | Type | Req | Description |
|---|---|---|---|
| bitmap | object | – | Bitmap options (mode "bitmap"; the image must be Grayscale) |
| bitsPerChannel | integer | – | – |
| indexed | object | – | Indexed Color options (mode "indexed") |
| mode | string | – | – |
No output schema declared.
No examples provided.
clipboard Clipboard ~83
Copy, copy merged, cut or clear the selection on the active layer, or paste as a new layer: paste, paste_into the selection, paste_in_place (Edit > Paste Special > Paste in Place: at the copied pixels' original position) or paste_outside the selection (Paste Outside: the selection is masked out)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to do |
No output schema declared.
No examples provided.
close_document Close Document ~36
Close the active document. Unsaved changes are discarded unless save is true
| Name | Type | Req | Description |
|---|---|---|---|
| save | boolean | – | Save before closing. Default false |
No output schema declared.
No examples provided.
close_documents Close Documents ~59
Close every open document (File > Close All). Unsaved changes are discarded unless save is true; with save, documents that have never been saved are refused before anything closes
| Name | Type | Req | Description |
|---|---|---|---|
| save | boolean | – | Save each document before closing it. Default false |
No output schema declared.
No examples provided.
combine_images Combine Images ~278
Combine image files into a new document with one of Photoshop's multi-file commands, without its dialog: stack (File > Scripts > Load Files into Stack), photomerge (File > Automate > Photomerge panorama), hdr (File > Automate > Merge to HDR Pro, with its last-used settings) or statistics (File > Scripts > Statistics stack mode). Large merges can outlast the script timeout
| Name | Type | Req | Description |
|---|---|---|---|
| align | boolean | – | stack, hdr, statistics: auto-align the layers. Default false (hdr: true) |
| blend | boolean | – | photomerge: Blend Images Together. Default true |
| distortionCorrection | boolean | – | photomerge: Geometric Distortion Correction. Default false |
| files | array | yes | Absolute paths of two or more images |
| fillTransparent | boolean | – | photomerge: Content Aware Fill Transparent Areas. Default false |
| layout | string | – | photomerge: Auto (default), Perspective, Cylindrical, Spherical, Collage or Reposition |
| method | string | yes | – |
| smartObject | boolean | – | stack: convert the stack into a smart object. Default false |
| statistic | string | – | statistics: the stack mode. Default median |
| vignetteRemoval | boolean | – | photomerge: Vignette Removal. Default false |
No output schema declared.
No examples provided.
convert_background_layer Convert Background Layer ~86
Turn the background layer into a normal layer that can move and hold transparency, or make a layer the background
| Name | Type | Req | Description |
|---|---|---|---|
| target | object | – | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| toBackground | boolean | – | Make the target the background layer. Default false: turn the background into a normal layer |
No output schema declared.
No examples provided.
convert_profile Convert Profile ~93
Convert the image to another colour profile (Edit > Convert to Profile) with a rendering intent, black point compensation and dither
| Name | Type | Req | Description |
|---|---|---|---|
| blackPointCompensation | boolean | – | – |
| dither | boolean | – | – |
| intent | string | – | Default relative_colorimetric |
| profile | string | yes | Destination profile name, e.g. "sRGB IEC61966-2.1", "Working CMYK" |
No output schema declared.
No examples provided.
convert_to_smart_object Convert To Smart Object ~99
Bundle layers into one embedded smart object (Layer > Smart Objects > Convert to Smart Object), or convert a layer so filters applied to it stay editable as Smart Filters (Filter > Convert for Smart Filters)
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Name for the smart object 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.
convert_type_layer Convert Type Layer ~157
Convert type layers (Type menu): to paragraph or point type, to a shape layer (Convert to Shape), to a work path (Create Work Path, which replaces the current work path), or to a selection shaped like the text, as the Type Mask tools make
| Name | Type | Req | Description |
|---|---|---|---|
| combine | string | – | selection: how the text outline combines with the current selection. Default replace |
| removeLayer | boolean | – | selection: delete the type layers afterwards, leaving only the selection (as the Type Mask tools do). Default false |
| target | object | yes | Which layers to act on. Give ids (from list_layers or a create tool), names, or active: true |
| to | string | yes | What to convert the type into |
No output schema declared.
No examples provided.
copy_layer_code Copy Layer Code ~71
Copy CSS for shape and type layers (size, position, colours, gradients, shadows, type settings), or SVG markup for a shape layer, to the clipboard (Layers panel context menu: Copy CSS, Copy SVG)
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | – |
| target | object | – | Default the active layer |
No output schema declared.
No examples provided.
copy_layer_style Copy Layer Style ~111
Copy one layer's style to other layers (Layer > Layer Style > Copy Layer Style, then Paste Layer Style, which replaces their styles), or copy only some effects, added to their own styles as Option/Alt-dragging an effect does
| Name | Type | Req | Description |
|---|---|---|---|
| effects | array | – | Copy only these effects (every instance), replacing the same effects on the targets. Default the whole style |
| source | object | yes | The one layer to copy from |
| target | object | yes | The layers to paste onto |
No output schema declared.
No examples provided.
create_adjustment_layer Create Adjustment Layer ~476
Add an adjustment layer above the active layer (Layer > New Adjustment Layer, or the Adjustments panel), with its settings, optionally clipped to the layer below. Adjustment layers change the look of the layers beneath without changing their pixels. Options by type: brightness_contrast (brightness, contrast, useLegacy); levels (channel, inputBlack, inputWhite, gamma, outputBlack, outputWhite, auto); curves (channel, points); exposure (exposure, offset, gamma); vibrance (vibrance, saturation); color_and_vibrance (temperature, tint, vibrance, saturation); hue_saturation (hue, saturation, lightness, colorize, ranges); color_balance (shadows, midtones, highlights, preserveLuminosity); black_and_white (reds, yellows, greens, cyans, blues, magentas, tint, tintColor); photo_filter (filter, color, density, preserveLuminosity); channel_mixer (monochrome, red, green, blue, gray); selective_color (method, reds, yellows, greens, cyans, blues, magentas, whites, neutrals, blacks); gradient_map (gradient, reverse, dither, method); posterize (levels); threshold (level); invert; color_lookup; clarity_and_dehaze (clarity, dehaze); grain (amount, size, roughness). Color Lookup is created with Photoshop's defaults; choose its LUT in the Properties panel. color_and_vibrance is the Color and Vibrance layer (Temperature, Tint, Vibrance, Saturation); its settings, and those of clarity_and_dehaze and grain, are Photoshop's own unless given.
| Name | Type | Req | Description |
|---|---|---|---|
| above | object | – | Add it above this layer (the first match) instead of the active layer |
| blendMode | string | – | Blend mode |
| clip | boolean | – | Use Previous Layer to Create Clipping Mask: affect only the layer below |
| name | string | – | Layer name. Default Photoshop's (e.g. "Levels 1") |
| opacity | number | – | Layer opacity, percent |
| options | object | – | Settings for the chosen type; see the list in this tool's description. Omitted settings use Photoshop's defaults |
| type | string | yes | Adjustment type |
No output schema declared.
No examples provided.
create_artboard Create Artboard ~235
Create an artboard: new at a position and size (Layer > New > Artboard), from layers (Artboard from Layers), from a group (Artboard from Group), or a new document of type Artboard (File > New). The steps in the document form one history state
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | Artboard background: "white", "black", "transparent", or a colour ("#RRGGBB", "rgb(r,g,b)", ...) |
| from | string | – | Default new |
| height | number | – | new, document: height in pixels |
| name | string | – | Artboard (or document) name |
| resolution | number | – | document: pixels per inch. Default 72 |
| target | object | – | layers: the layers to put on the artboard. group: the group to convert |
| width | number | – | new, document: width in pixels |
| x | number | – | new: left edge in pixels. Default to the right of the existing artboards |
| y | number | – | new: top edge in pixels. Default 0 |
No output schema declared.
No examples provided.
create_channel Create Channel ~223
Add an alpha channel (Channels panel > New Channel) whose colour shows masked or selected areas, or a spot colour channel (New Spot Channel) with its ink colour and solidity; optionally filled from the selection (Save Selection as Channel)
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Overlay colour of an alpha channel, or ink colour of a spot channel. "#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 "l… |
| fromSelection | boolean | – | Fill the channel from the current selection. Default false |
| kind | string | – | Default masked_areas (an alpha channel) |
| name | string | – | Channel name; spot channels are usually named after the ink |
| opacity | number | – | Overlay opacity of an alpha channel, or Solidity of a spot channel, percent |
No output schema declared.
No examples provided.
create_document Create Document ~210
Create a document (File > New, Preset Details) with a size in pixels, resolution, colour mode, bit depth, background fill, pixel aspect ratio and optional colour profile, optionally as an artboard document
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | boolean | – | Create the document with an artboard (the New Document Artboards option). Default false |
| bitsPerChannel | integer | – | Default 8 |
| colorProfile | string | – | Profile name, e.g. "sRGB IEC61966-2.1" |
| fill | string | – | Background contents. Default white |
| height | number | yes | Pixels |
| mode | string | – | Default rgb |
| name | string | – | Document name |
| pixelAspectRatio | number | – | Pixel width over height for video work, e.g. 0.9 for D1/DV NTSC. Default 1 (square) |
| resolution | number | – | Pixels per inch. Default 72 |
| width | number | yes | Pixels |
No output schema declared.
No examples provided.
create_droplet Create Droplet ~355
Save an action as a droplet: an application that plays the action on files dropped onto it, with Batch's open, save and naming options (File > Automate > Create Droplet)
| 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 |
| fileNaming | array | – | File Naming for destination folder: up to 6 parts joined in order. Default ["document_name", "extension_lower"] |
| filePath | string | yes | Absolute path of the droplet to create (an .app on macOS, an .exe on Windows) |
| 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 |
| 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.
create_fill_layer Create Fill Layer ~227
Add a fill layer above the active layer (Layer > New Fill Layer): a solid colour, a gradient (defined as in the Gradient Editor) or a pattern, optionally clipped to the layer below. Options by type: solid_color (color); gradient (gradient, style, angle, scale, reverse, dither, alignWithLayer, method, offset); pattern (pattern, patternId, scale, linked).
| Name | Type | Req | Description |
|---|---|---|---|
| above | object | – | Add it above this layer (the first match) instead of the active layer |
| blendMode | string | – | Blend mode |
| clip | boolean | – | Use Previous Layer to Create Clipping Mask: affect only the layer below |
| name | string | – | Layer name. Default Photoshop's (e.g. "Levels 1") |
| opacity | number | – | Layer opacity, percent |
| options | object | – | Settings for the chosen fill. solid_color needs color; pattern needs pattern (a name); see the list in this tool's description. Omitted settings use Photoshop's defaults |
| type | string | yes | Fill type |
No output schema declared.
No examples provided.
create_frame Create Frame ~71
Put layers inside a frame (Add Frame to Layers) or turn a group into a frame (Add Frame To Layer Group); the frame clips its contents to its shape
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Default layers |
| target | object | yes | layers: the layers to frame. group: the group to convert |
No output schema declared.
No examples provided.
create_layer Create Layer ~95
Add a new empty pixel layer or a group above the active layer, or inside a group
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | – |
| fillOpacity | number | – | Fill opacity: affects pixels but not layer styles |
| group | integer | – | Create inside this group (id) |
| name | string | – | – |
| opacity | number | – | – |
| type | string | – | Default layer |
| visible | boolean | – | – |
No output schema declared.
No examples provided.
create_text_layer Create Text Layer ~339
Add a type layer: point type at a position, or paragraph type in a box (width and height), with its font, size, colour and formatting. Line breaks in text start new paragraphs
| 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" |
| height | number | – | Paragraph type: box height in pixels |
| horizontalScale | number | – | Percent |
| justification | string | – | – |
| leading | number | – | Pixels; turns auto leading off |
| name | string | – | – |
| size | number | – | Pixels |
| strikethrough | boolean | – | – |
| text | string | yes | – |
| tracking | number | – | Thousandths of an em |
| underline | boolean | – | – |
| verticalScale | number | – | Percent |
| width | number | – | Paragraph type: box width in pixels |
| x | number | yes | Pixels from the left: the baseline start for point type, the box's left edge for paragraph type |
| y | number | yes | Pixels from the top |
No output schema declared.
No examples provided.
create_timeline Create Timeline ~96
Create a video timeline or a frame animation for the document, or convert between the two (Timeline panel: Create Video Timeline, Create Frame Animation, Convert to Frame Animation, Convert to Video Timeline)
| Name | Type | Req | Description |
|---|---|---|---|
| frameRate | number | – | Frame rate for a new or converted video timeline, in frames per second |
| mode | string | yes | video (new video timeline), frames (new frame animation), convert_to_frames or convert_to_video |
No output schema declared.
No examples provided.
crop_image Crop Image ~118
Crop the image to a rectangle (Image > Crop, or the Crop tool), optionally rotating the crop and resampling the result to a size. Bounds reaching outside the canvas extend it, as dragging the Crop tool past the edge does
| Name | Type | Req | Description |
|---|---|---|---|
| angle | number | – | Rotate the crop, in degrees |
| bounds | object | yes | A rectangle in pixels from the document's top-left corner |
| height | number | – | Resample the result to this height in pixels |
| width | number | – | Resample the result to this width in pixels |
No output schema declared.
No examples provided.
define_pattern Define Pattern ~88
Save the selection, an area or the whole image as a pattern (Edit > Define Pattern), for pattern fill layers and fills. The area must be a plain rectangle; without one, the selection is used, or the whole image when nothing is selected
| Name | Type | Req | Description |
|---|---|---|---|
| bounds | object | – | Rectangle to use, in pixels; selected first and deselected afterwards |
| name | string | yes | Pattern name |
No output schema declared.
No examples provided.
delete_layers Delete Layers ~48
Delete layers or groups (with everything inside 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 |
No output schema declared.
No examples provided.
draw_gradient Draw Gradient ~235
Draw a classic gradient on the active layer, inside the selection if there is one, from one point to another (Gradient tool in Classic gradient mode): linear, radial, angle, reflected or diamond, with colour and opacity stops, reverse, dither, transparency and interpolation. Without colours it runs from the foreground to the background colour
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Blend mode. Default normal |
| colors | array | – | Colour stops. Default foreground to background |
| dither | boolean | – | Dither to reduce banding. Default true |
| from | object | yes | Start point, pixels from the top-left |
| interpolation | string | – | How colours blend between stops. Default perceptual |
| opacities | array | – | Opacity stops. Default fully opaque throughout |
| opacity | number | – | Percent. Default 100 |
| reverse | boolean | – | Reverse the colour order. Default false |
| to | object | yes | End point, pixels from the top-left |
| transparency | boolean | – | Use the opacity stops (the Transparency option). Default true |
| type | string | – | Default linear |
No output schema declared.
No examples provided.
draw_vector_shape Draw Vector Shape ~199
Draw with the shape and pen tools: rectangles (with rounded corners), ellipses, triangles, polygons, stars, lines, custom shape presets and pen points, combined with path operations. Mode shape makes a shape layer filled with a colour; path adds a path to the Paths panel; pixels fills the shape on the active layer
| Name | Type | Req | Description |
|---|---|---|---|
| antiAlias | boolean | – | pixels: smooth the edges. Default true |
| color | string | – | Fill colour for shape and pixels modes. Default: the foreground colour |
| components | array | yes | The shape's components, drawn in order; each one's operation combines it with those before it |
| mode | string | – | Tool mode: shape layer (default), path, or pixels |
| name | string | – | Name of the new shape layer, or of the new path (default "Path", numbered if taken) |
| opacity | number | – | pixels: fill opacity percent. Default 100 |
No output schema declared.
No examples provided.
duplicate_document Duplicate Document ~45
Duplicate the active document (Image > Duplicate), optionally merged into one layer
| Name | Type | Req | Description |
|---|---|---|---|
| mergeLayers | boolean | – | Duplicate merged layers only. Default false |
| name | string | – | – |
No output schema declared.
No examples provided.
duplicate_layers Duplicate Layers ~71
Duplicate layers or groups (Layer > Duplicate Layer), placed above each original, optionally renamed
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Name for the copy (one layer only) |
| 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.
edit_actions Edit Actions ~235
Change the Actions panel: create an empty set, delete a set, an action or one of its steps, clear every set, reset to Default Actions, load an .atn file or one of Photoshop's bundled sets, or save a set as an .atn file (Actions panel menu)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | delete: the action to delete (or whose step to delete) inside set |
| filePath | string | – | load or save: absolute path of an .atn file |
| operation | string | yes | create_set (New Set), delete (Delete), clear_all (Clear All Actions), reset (Reset Actions: clear, then load Default Actions), load (Load Actions), save (Save Actions) |
| preset | string | – | load: a set bundled in Photoshop's Presets/Actions folder, e.g. "Frames", "Image Effects", "Production" |
| set | string | – | Set name: the new set for create_set, the set to delete, save, or that holds action |
| step | integer | – | delete: the step number (1 = first) inside action |
No output schema declared.
No examples provided.
edit_adjustment_layer Edit Adjustment Layer ~391
Change the settings of existing adjustment layers (the Properties panel). Only the options given change; the rest keep their values. Also sets name, opacity, blend mode and clipping. Options by type: brightness_contrast (brightness, contrast, useLegacy); levels (channel, inputBlack, inputWhite, gamma, outputBlack, outputWhite, auto); curves (channel, points); exposure (exposure, offset, gamma); vibrance (vibrance, saturation); color_and_vibrance (temperature, tint, vibrance, saturation); hue_saturation (hue, saturation, lightness, colorize, ranges); color_balance (shadows, midtones, highlights, preserveLuminosity); black_and_white (reds, yellows, greens, cyans, blues, magentas, tint, tintColor); photo_filter (filter, color, density, preserveLuminosity); channel_mixer (monochrome, red, green, blue, gray); selective_color (method, reds, yellows, greens, cyans, blues, magentas, whites, neutrals, blacks); gradient_map (gradient, reverse, dither, method); posterize (levels); threshold (level); clarity_and_dehaze (clarity, dehaze); grain (amount, size, roughness).
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Blend mode |
| clip | boolean | – | Use Previous Layer to Create Clipping Mask: affect only the layer below |
| name | string | – | Layer name. Default Photoshop's (e.g. "Levels 1") |
| opacity | number | – | Layer opacity, percent |
| options | object | – | Settings for the chosen type; see the list in this tool's description. Omitted settings use Photoshop's defaults |
| target | object | yes | Adjustment layers of the given type |
| type | string | yes | Their adjustment type |
No output schema declared.
No examples provided.
edit_artboards Edit Artboards ~268
Change artboards: set name, position, size, background colour and auto-nesting (Properties panel), duplicate one, ungroup them back to layers (Layer > Ungroup Artboards), clear their guides (View > Guides > Clear Selected Artboard Guides), add guides from a shape (New Artboard Guides From Shape), or pick the Artboard or Frame tool
| Name | Type | Req | Description |
|---|---|---|---|
| autoNest | boolean | – | set: let layers moved onto or off the artboard nest into or out of it automatically (false prevents auto-nesting) |
| background | string | – | Artboard background: "white", "black", "transparent", or a colour ("#RRGGBB", "rgb(r,g,b)", ...) |
| height | number | – | set: height in pixels |
| name | string | – | set, duplicate: new name |
| operation | string | yes | – |
| target | object | – | The artboards (ids from get_artboards); for guides_from_shape, the shape layer |
| tool | string | – | select_tool: the Artboard tool or the Frame tool |
| width | number | – | set: width in pixels |
| x | number | – | set, duplicate: left edge in pixels |
| y | number | – | set, duplicate: top edge in pixels |
No output schema declared.
No examples provided.
edit_fill_layer Edit Fill Layer ~195
Change existing fill layers: colour, gradient and its placement, or pattern (double-clicking the layer thumbnail). Only the options given change. Options by type: solid_color (color); gradient (gradient, style, angle, scale, reverse, dither, alignWithLayer, method, offset); pattern (pattern, patternId, scale, linked).
| Name | Type | Req | Description |
|---|---|---|---|
| blendMode | string | – | Blend mode |
| clip | boolean | – | Use Previous Layer to Create Clipping Mask: affect only the layer below |
| name | string | – | Layer name. Default Photoshop's (e.g. "Levels 1") |
| opacity | number | – | Layer opacity, percent |
| options | object | – | Settings for the chosen fill; see the list in this tool's description. Omitted settings use Photoshop's defaults |
| target | object | yes | Fill layers of the given type |
| type | string | yes | Their fill type |
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.