MCP servers › io.github.zachshallbetter › adobe-mcp-illustrator
MCP server · registry snapshot 2026-10-23 · last tested 2026-10-23
io.github.zachshallbetter/adobe-mcp-illustrator
Drive Adobe Illustrator from any MCP client: artwork, type, colour, effects, data and export. — the publisher's description
Summary
io.github.zachshallbetter/adobe-mcp-illustrator is a local MCP server listed in the official MCP registry at version 0.9.0. On 2026-10-23 ProtocolProbe started its published package in an isolated sandbox in read-only mode and read its inventory: 308 tools, 0 resources and 0 prompts.
Record checks
- met: Registry entry is active and says how to run it
- met: Source repository link opens
- met: Repository is not archived
- met: Code pushed to the repository in the 90 days before our check
- met: Repository publishes a security policy (SECURITY.md)
- met: Package names its licence with a standard (SPDX) identifier
- met: The version the registry lists can be installed and is not withdrawn
- met: npm package carries build provenance (attestation)
- met: No known critical or high advisory in the package or its dependencies
- #8,592 of 15,112 packages by monthly downloads, tied with 22 others
- #1,622 of 22,952 repositories by GitHub stars, tied with 34 others (repository shared with 5 other registry entries)
- #924 of 1,074 packages meeting all 9 record checks, by downloads, tied with 1 other
From public records, not a safety rating. Each check with its reason · Is it safe to install?
Key facts
- Runs
- local package
- Transport
- standard input/output
- Package
- npm · listed version current
- License
- MIT
- Dependencies
- no known high or critical advisories
- Repository
- public
- Tools
- 308
- Described as changing data
- 154 of 308 toolsAI-classified
- Mainly works on
- files and code on the machine it runs onAI-classified
- Topic
- media-and-designAI-classified
- Last tested
- 2026-10-23
Worth knowing before you connect it
- 154 tools are described as changing something (create_document, open_document, save_document, …): our AI model's reading of the descriptions, not something we tested. We did not call them.
- Its package is signed and carries a build record naming its source.
Each line comes from a section below, with its source and date.
How fresh this is
- Live-tested
- yes, a real session (not a text-only review)
- Last tested
- 2026-10-23
- Mode
- read-only (no tool calls)
- Latest version
- 0.9.0, published 2026-10-15 (registry, as of the 2026-10-23 snapshot)
- First listed version
- 2026-10-14 (earliest version still in the registry; older removed versions would be earlier)
- Version history
- 9 versions listed, 2026-10-14 to 2026-10-15; 9 in the 90 days before the 2026-10-23 snapshot.(versions still listed in the registry only)
Most recent 9 versions
0.9.0· 2026-10-150.8.0· 2026-10-150.7.0· 2026-10-150.6.0· 2026-10-150.5.0· 2026-10-150.4.0· 2026-10-150.3.0· 2026-10-150.2.0· 2026-10-150.1.0· 2026-10-14
- Registry data
- snapshot 2026-10-23
- Package and repository
- checked 2026-10-23
- Engine
- mcp-runtime-engine@0.1.0 · sdk@1.32.0
Changes since the last refresh
New in the registry: not in the list of 2026-10-04, listed on 2026-10-23 with version 0.9.0 (published 2026-10-15).
Source: the official MCP Registry list on 2026-10-04 and on 2026-10-23.
What it is
What does this server offer?
Observed inventoryWhat it mainly works on, as our AI model read its tool descriptions: files and code on the machine it runs on.
154 of 308 tools are described as changing something (creating, editing, deleting, sending or running). For 122 the reading was uncertain, so no mark is shown.
“Describe the active document: name, file, colour mode, artboards with their sizes, layers, item counts and selection”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“List the open documents and which one is active”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“Create a document.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
7 inputs, 1 required
colorModestringrequired“CMYK for print, RGB for screen”widthnumber“Artboard width in points (72 pt = 1 in).”heightnumber“Artboard height in points.”artboardsinteger“Number of artboards.”artboardLayoutstring“How several artboards are arranged.”artboardSpacingnumber“Space between artboards in points.”columnsinteger“Columns (or rows, for column layouts) in a grid”
“Open a file as a new document (File > Open): Illustrator (.ai, .ait template), PDF, EPS, SVG/SVGZ, AutoCAD DWG/DXF, images (PSD, TIFF, PNG, JPEG, JPEG 2000, GIF, BMP, WebP, AVIF, HEIC, TGA, PCX, PXR)…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
3 inputs, 1 required
filePathstringrequired“Absolute path”pdfobject“PDF files only (the PDF Import Options dialog)”autocadobject“DWG and DXF files only (the DXF/DWG Options dialog)”
“Save the active document.”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
17 inputs
filePathstring“Absolute .ai or .eps path.”compatibilitystring“Illustrator version to save for: 24 = Illustrator 2020 and later (default), 17 = CC, 16 = CS6”separateArtboardsboolean“Also save each artboard to its own file, named after the artboard.”artboardsstring“With separateArtboards: the artboards to save, 1-based: "1", "1-3,5".”embedLinkedFilesboolean“Embed linked images.”pdfCompatibleboolean“.ai: embed a PDF-compatible copy so other apps can preview it.”compressedboolean“.ai: compress the file.”embedIccProfileboolean“.ai: embed the document's colour profile.”fontSubsetThresholdnumber“.ai: subset embedded fonts when less than this percent of their characters is used.”previewstring“.eps: preview format.”postScriptinteger“.eps: PostScript level.”embedFontsboolean“.eps: include document fonts.”cmykPostScriptboolean“.eps: include CMYK PostScript in RGB files.”compatibleGradientPrintingboolean“.eps: rasterise gradients and meshes for older PostScript printers.”thumbnailsboolean“.eps: include a thumbnail.”overprintstring“.eps: keep or discard overprints.”transparencystring“Saving for Illustrator 8 or 3 only, which have no transparency: preserve_paths (discard transparency) or preserve_appearance (flatten it)”
“Close the active document.”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input
saveboolean“Save before closing.”
- list_artboardsreads or searches
“List artboards with their position and size in points.”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
- add_artboardcreates or changes datadescribed as changing data
“Add an artboard.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
5 inputs, 4 required
xnumberrequiredynumberrequiredwidthnumberrequiredheightnumberrequirednamestring
- set_artboardcreates or changes datadescribed as changing data
“Rename, move or resize an artboard, or switch it between portrait and landscape (Object > Artboards > Switch Orientation).”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
8 inputs, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”namestringxnumberynumberwidthnumberheightnumberorientationstring“Swap width and height to make it portrait or landscape, or switch whichever it is.”scaleArtworkboolean“Scale and move the artwork whose centre lies on the artboard along with it.”
- delete_artboarddeletesdescribed as changing data
“Delete an artboard.”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”
- set_active_artboardcreates or changes datadescribed as changing data
“Make an artboard active (the one Illustrator's artboard commands and menu commands act on)”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
1 input, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”
- fit_artboard_to_artworkcreates or changes datadescribed as changing data
“Resize an artboard to the bounds of the given artwork (Object > Artboards > Fit to Selected Art), or without target, to all the artwork on it (Fit to Artwork Bounds)”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
2 inputs, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”targetobject“Fit to these items.”
Show 88 more tools
- rearrange_artboardscreates or changes datadescribed as changing data
“Arrange all artboards in a grid, row or column”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
4 inputs
layoutstring“Default GridByRow”columnsinteger“Columns (rows for column layouts).”spacingnumber“Points between artboards.”moveArtworkboolean“Move artwork with its artboard.”
“List top-level layers and their sublayers, with visibility, lock state, Layer Options and item counts”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“Create a layer at the top of the stack, or as a sublayer of parentLayer, with the Layer Options settings (Layers panel menu > New Layer, New Layer with Dialog)”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
8 inputs, 1 required
namestringrequiredparentLayerstring“Create inside this layer”visiblebooleanlockedbooleanprintablebooleancolorstring“Highlight colour of the layer's selections and outlines, "#RRGGBB" or "rgb(r,g,b)"”previewboolean“false shows the layer in Outline mode”dimPlacedImagesboolean“Dim placed images on the layer (Dim Images to).”
“Rename a layer, show or hide it, lock it, set whether it prints, its opacity, Layer Options (colour, preview, dim images), knockout group, or move it in the stack”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
11 inputs, 1 required
layerstringrequired“Layer name”newNamestringvisiblebooleanlockedbooleanprintablebooleanopacitynumberarrangestringcolorstring“Highlight colour of the layer's selections and outlines, "#RRGGBB" or "rgb(r,g,b)"”previewboolean“false shows the layer in Outline mode”dimPlacedImagesboolean“Dim placed images on the layer (Dim Images to).”knockoutstring“Knockout Group (Transparency panel): whether the layer's objects knock each other out”
“Make a layer active: new artwork goes on it when a tool is not given a layer”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
1 input, 1 required
layerstringrequired
“Delete a layer and everything on it”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
layerstringrequired
- move_items_to_layercreates or changes datadescribed as changing data
“Move items to the top of another layer, or of the active layer when layer is omitted (Object > Arrange > Send to Current Layer)”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
2 inputs, 1 required
targetobjectrequired“Which items to act on.”layerstring“Top-level layer name.”
- new_from_templatecreates or changes datadescribed as changing data
“Start an untitled document from an Illustrator template (.ait) file (File > New from Template).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
1 input, 1 required
filePathstringrequired“Absolute path to an .ait file”
- save_document_copycreates or changes datadescribed as changing data
“Write a copy of the active document's saved file to another path; the document stays open and keeps referring to its own file (File > Save a Copy).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
2 inputs, 1 required
filePathstringrequired“Absolute path for the copy, with the same extension as the document's file”overwriteboolean“Replace an existing file at filePath.”
- revert_documentdescribed as changing data
“Discard the active document's unsaved changes by reloading its saved file (File > Revert).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
Takes no inputs.
- close_all_documentsdeletesdescribed as changing data
“Close every open document (File > Close All).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
1 input
saveboolean“Save changes before closing.”
- list_document_presetsreads or searches
“List the new-document presets (Print, Web, Mobile, Film & Video, Art & Illustration and saved custom presets) with their size, units and colour mode, for create_document_from_preset”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
- create_document_from_presetcreates or changes datadescribed as changing data
“Create a document from a new-document preset (File > New), overriding its name, size, orientation, units, colour mode, raster effects resolution, preview mode, transparency grid and bleed.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
11 inputs, 1 required
presetstringrequired“Preset name, e.g.”titlestring“Name of the new document”widthnumber“Artboard width in points”heightnumber“Artboard height in points”orientationstring“Swap width and height to match”unitsstring“Ruler and field units of the document”colorModestringrasterEffectsstring“Raster effects resolution: screen 72, medium 150, high 300 ppi”previewModestringtransparencyGridstring“Transparency grid colours”bleednumber“Bleed on every side, in points”
- get_document_setupreads or searches
“Report the active document's Document Setup values the object model exposes: units, colour mode, large canvas, Show Images in Outline Mode, and each artboard's ruler origin”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“Change document settings: colour mode (File > Document Color Mode, converting every colour), an artboard's ruler origin, conversion to a large canvas, or switch to the Artboard tool (Document Setup >…”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
5 inputs
colorModestring“Convert the document to CMYK or RGB”rulerOriginobject“Ruler zero point of an artboard, in points from its top-left corner.”artboardIndexinteger“Artboard whose ruler origin is set (0-based).”largeCanvasboolean“true converts the document to a large canvas (10 times the standard maximum size).”editArtboardsboolean“true switches to the Artboard tool so the user can edit artboards”
- open_document_with_optionsreads or searchesdescribed as changing data
“Open a file with Illustrator's open options: update legacy text and gradient meshes, convert a pre-CS4 document's crop area, print tiles or artwork bounds to artboards, keep it off the recent files l…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
9 inputs, 1 required
filePathstringrequired“Absolute path”updateLegacyTextboolean“Update type from documents saved before Illustrator CS”updateLegacyGradientMeshboolean“Keep spot colours in gradient meshes from documents saved before CS3”preserveLegacyArtboardboolean“Pre-CS4 documents: keep the legacy artboard”convertCropAreaToArtboardboolean“Pre-CS4 documents: turn the crop area into an artboard (otherwise it is discarded)”convertTilesToArtboardsboolean“Pre-CS4 documents: turn print tiles into artboards”createArtboardFromArtworkBoundsboolean“Pre-CS4 documents: make an artboard the size of the artwork”addToRecentFilesboolean“List the file under File > Open Recent Files”openAsstring“Open as a document (default) or as a library panel”
“Read the active document's metadata (File > File Info): title, authors, description, keywords, copyright, and the dates and creator tool, from its XMP packet”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
1 input
includeXmpboolean“Also return the whole XMP packet.”
- set_file_infocreates or changes datadescribed as changing data
“Set the active document's metadata (File > File Info).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
6 inputs
titlestringauthorsarraydescriptionstringkeywordsarraycopyrightstring“Copyright notice”xmpstring“A complete XMP packet (from get_file_info includeXmp).”
- use_clipboardcreates or changes datadescribed as changing data
“Cut or copy items, or paste the clipboard (Edit > Cut, Copy, Paste, Paste in Place, Paste on All Artboards, Paste without Formatting).”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
3 inputs, 1 required
actionstringrequiredtargetobject“cut and copy: the items.”artboardIndexinteger“paste_in_place: the artboard to paste onto (0-based).”
- switch_documentcreates or changes datadescribed as changing data
“Bring an open document to the front by name or by its list_documents index, or move to the next or previous document or document group (Window menu document navigation)”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
3 inputs
namestring“Document name, as list_documents gives it”indexinteger“Position in list_documents, which changes as documents are activated”directionstring
- organize_layerscreates or changes datadescribed as changing data
“Run a Layers panel menu command: merge layers (Merge Selected), flatten every layer into one (Flatten Artwork), collect items or layers in a new layer (Collect in New Layer), give each object of a la…”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
6 inputs, 1 required
commandstringrequired“merge: the layers into the last one listed.”layersarray“merge, reverse, collect: layer names at the same level of the Layers panel”layerstring“flatten: the layer to flatten into.”targetobject“collect: the items to move into a new sublayer of the first item's layer.”namestring“collect: name of the new layer”hiddenLayersstring“flatten: move the artwork of hidden layers in as hidden objects, or delete those layers.”
- set_other_layerscreates or changes datadescribed as changing data
“Hide, lock or outline every top-level layer except the ones holding the chosen layers or items (Object > Hide > Other Layers, Object > Lock > Other Layers, Layers panel menu > Outline Others), or sho…”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs, 1 required
actionstringrequiredlayersarray“Layers to leave alone (a sublayer keeps its top-level layer)”targetobject“Or: leave alone the layers holding these items”
- select_layer_artworkdescribed as changing data
“Select all the artwork on layers, as clicking a layer's selection column or target circle in the Layers panel does.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
2 inputs, 1 required
layersarrayrequired“Layer names”addboolean“Add to the current selection instead of replacing it.”
- paste_artworkcreates or changes datadescribed as changing data
“Paste the clipboard directly in front of or behind the selected objects, on their layer (Edit > Paste in Front, Paste in Back).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
2 inputs, 1 required
placementstringrequiredtargetobject“Copy these items first.”
- copy_artboardcreates or changes datadescribed as changing data
“Duplicate an artboard with the artwork on it (Artboards panel menu > Duplicate Artboards), copy it into another open document, or cut it (move it and its artwork, removing the original).”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
7 inputs, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”withArtworkboolean“Copy the artwork on the artboard too.”toDocumentstring“Name of another open document to copy into (list_documents).”cutboolean“Remove the original artboard and its artwork afterwards.”namestring“Name of the copy.”xnumber“Left of the copy, from the destination's artboard 0 top-left, in points.”ynumber“Top of the copy, measured the same way.”
- delete_empty_artboardsdeletesdescribed as changing data
“Delete every artboard that no artwork touches (Artboards panel menu > Delete Empty Artboards).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
1 input
dryRunboolean“Only report which artboards would be deleted.”
- align_artboardscreates or changes datadescribed as changing data
“Align artboards to one another, or space them evenly, moving the artwork on them along (Artboard tool: align and distribute artboards).”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
5 inputs
artboardsarray“Artboard indexes (0-based).”alignstring“Line up the artboards' edges or centres with the outermost one”distributestring“Space the artboards evenly in a row (left to right) or a column (top to bottom)”spacingnumber“With distribute: a fixed gap in points.”moveArtworkboolean“Move the artwork with its artboard.”
- reorder_artboardscreates or changes datadescribed as changing data
“Change the artboards' numbering order, which sets their page order when exporting (Artboards panel: move up, move down, or drag).”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs
orderarray“Every artboard index in its new order, e.g.”artboardIndexinteger“Or: the artboard to move”toIndexinteger“with artboardIndex: its new index”
- convert_to_artboardscreates or changes datadescribed as changing data
“Turn the chosen objects (usually rectangles) into artboards of the same bounds (Object > Artboards > Convert to Artboards)”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
- set_artboard_displaycreates or changes datadescribed as changing data
“Artboard display options (Artboard Options: Show Center Mark, Show Cross Hairs, Show Video Safe Areas, Video Ruler Pixel Aspect Ratio, ruler origin), the artboard border and name display (application…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
11 inputs
artboardsarray“Artboard indexes (0-based).”showCenterboolean“Show a mark at the centre”showCrossHairsboolean“Show lines through the centre of each edge”showSafeAreasboolean“Show video title-safe and action-safe areas”rulerPixelAspectRationumber“Pixel aspect ratio of the video rulers, e.g.”rulerOriginobject“Zero point of the artboard's rulers, in points from its top-left corner”borderColorstring“Artboard border colour, "#RRGGBB" or "rgb(r,g,b)" (all documents)”borderWidthinteger“Artboard border width, 1-4 (all documents)”showNamesboolean“Show artboard names on the canvas (all documents)”toggleArtboardsboolean“Run View > Show / Hide Artboards, which switches artboard outlines on or off”toggleVideoRulersboolean“Run View > Rulers > Show / Hide Video Rulers, which switches them on or off”
- view_artboard
“Show an artboard in the document window: make it active and fit it in the window, fit all artboards, or zoom on its centre (View > Fit Artboard in Window, Fit All in Window)”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs, 1 required
artboardIndexintegerrequired“Artboard index (0-based).”fitstring“Fit this artboard, or every artboard, in the window.”zoomnumber“Instead of fitting: zoom factor centred on the artboard (1 = 100%)”
“Draw a rectangle, optionally with rounded corners.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
12 inputs, 4 required
artboardIndexinteger“Artboard index (0-based).”xnumberrequiredynumberrequiredwidthnumberrequiredheightnumberrequiredcornerRadiusnumber“Corner radius in points.”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Draw an ellipse inside the box whose top-left corner is x, y”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
11 inputs, 4 required
artboardIndexinteger“Artboard index (0-based).”xnumberrequiredynumberrequiredwidthnumberrequiredheightnumberrequiredfillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Draw a regular polygon centred on centerX, centerY”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
11 inputs, 3 required
artboardIndexinteger“Artboard index (0-based).”centerXnumberrequiredcenterYnumberrequiredradiusnumberrequiredsidesintegerfillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
- create_starcreates or changes datadescribed as changing data
“Draw a star centred on centerX, centerY”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
12 inputs, 3 required
artboardIndexinteger“Artboard index (0-based).”centerXnumberrequiredcenterYnumberrequiredradiusnumberrequired“Outer radius”innerRadiusnumber“Default half the outer radius”pointsintegerfillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Draw a straight line (Line Segment tool) from x1, y1 to x2, y2, or from x1, y1 with a length and angle as in the tool's options dialog.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
13 inputs, 2 required
artboardIndexinteger“Artboard index (0-based).”x1numberrequiredy1numberrequiredx2numbery2numberlengthnumber“Length in points, instead of x2, y2”anglenumber“With length: degrees counterclockwise from the 3 o'clock direction.”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Draw a path through points.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
9 inputs, 1 required
artboardIndexinteger“Artboard index (0-based).”pointsarrayrequiredclosedbooleanfillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Add text.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
15 inputs, 3 required
artboardIndexinteger“Artboard index (0-based).”contentsstringrequired“The text.”kindstringxnumberrequiredynumberrequiredwidthnumber“Area text only”heightnumber“Area text only”fontstring“PostScript font name, e.g.”sizenumber“Font size in points”colorstring“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”justificationstringleadingnumber“Leading in points (turns off auto leading)”trackingnumber“Tracking in thousandths of an em”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
“Set font, size, colour, justification, leading or tracking on whole text frames”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
7 inputs, 1 required
targetobjectrequired“Which items to act on.”fontstring“PostScript font name”sizenumbercolorstring“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”justificationstringleadingnumbertrackingnumber
- set_text_contentscreates or changes datadescribed as changing data
“Replace the text of text frames.”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
2 inputs, 2 required
targetobjectrequired“Which items to act on.”contentsstringrequired
“Convert text frames to outlined artwork (Type > Create Outlines).”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
“List installed fonts whose name, family or style contains the query”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
2 inputs
querystring“Case-insensitive text to match”limitinteger
“Set Character panel, OpenType panel and CJK character attributes on text frames, a character range of each, or the selected text: font and style, size, leading, kerning, tracking, scales, baseline sh…”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
55 inputs, 1 required
targetobjectrequired“Which items to act on.”rangeobject“Characters to format in each frame (or in the selected text): start is the 0-based character offset; length defaults to the rest of the text.”fontstring“PostScript font name, e.g.”sizenumber“Font size in points”leadingnumber“Leading in points (turns off auto leading)”autoLeadingboolean“Auto leading”trackingnumber“Tracking in thousandths of an em”kerningMethodstring“Automatic kerning: Metrics (metrics), Optical, Metrics - Roman Only, or none (0)”horizontalScalenumber“Horizontal scale, percent (100 = normal)”verticalScalenumber“Vertical scale, percent (100 = normal)”baselineShiftnumber“Baseline shift in points (positive raises)”rotationnumber“Character rotation in degrees”languagestring“Language for spelling and hyphenation”capitalizationstring“All Caps / Small Caps”positionstring“Superscript / Subscript”underlinebooleanstrikethroughbooleancolorstring“Fill colour.”strokeColorstring“Character stroke colour.”strokeWeightnumber“Character stroke weight in points”noBreakboolean“No Break: keep these characters on one line”overprintFillbooleanoverprintStrokebooleansyntheticItalicsboolean“Synthetic italics (slants Japanese OpenType characters)”ligaturesboolean“Standard Ligatures”
and 30 more not listed here.
- adjust_textcreates or changes datadescribed as changing data
“Step text formatting up or down the way the Type keyboard commands do: font size up or down by points or by Font Size Step Up/Down, kern or track looser or tighter, Clear Tracking, Uniform Type (scal…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
4 inputs, 2 required
targetobjectrequired“Which items to act on.”rangeobject“Characters to format in each frame (or in the selected text): start is the 0-based character offset; length defaults to the rest of the text.”operationstringrequired“size_up: Increase the font size by amount points (default 2); size_down: Decrease the font size by amount points (default 2); size_step_up: Font Size Step Up: …”amountnumber“Points for size_up/size_down (default 2); thousandths of an em for kern and track operations (default 20)”
- set_paragraph_attributescreates or changes datadescribed as changing data
“Set Paragraph panel attributes on text frames, some of their paragraphs, or the selected text: alignment, indents, space before and after, hyphenation (the Hyphenation dialog), word and letter spacin…”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
31 inputs, 1 required
targetobjectrequired“Which items to act on.”paragraphsobject“Paragraphs to format in each frame: start is the 0-based paragraph index; length defaults to the rest.”justificationstringleftIndentnumber“Left indent in points”rightIndentnumber“Right indent in points”firstLineIndentnumber“First-line left indent in points”spaceBeforenumber“Space before the paragraph in points”spaceAfternumber“Space after the paragraph in points”hyphenateboolean“Automatic hyphenation”wordsLongerThaninteger“Hyphenate words longer than this many letters”afterFirstinteger“At least this many letters before a hyphen”beforeLastinteger“At least this many letters after a hyphen”hyphenLimitinteger“Most consecutive hyphenated lines (0 = no limit)”hyphenationZonenumber“Hyphenation zone in points”hyphenateCapitalizedWordsbooleanhyphenationPreferencenumber“Better Spacing (0) to Fewer Hyphens (1)”wordSpacingobject“Justification word spacing, percent”letterSpacingobject“Justification letter spacing, percent”glyphScalingobject“Justification glyph scaling, percent”autoLeadingAmountnumber“Auto leading, percent of the font size”singleWordJustificationstring“How a line holding a single word is justified”romanHangingPunctuationbooleanleadingTypestring“Leading measured top to top or bottom to bottom”kinsokustring“Kinsoku Shori set by name, e.g.”kinsokuTypestring
and 6 more not listed here.
“Set the tab stops of text frames, some of their paragraphs, or the selected text (Tabs panel): left, centre, right and decimal tabs, leaders, the decimal character, and Repeat Tab.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
4 inputs, 2 required
targetobjectrequired“Which items to act on.”paragraphsobject“Paragraphs to format in each frame: start is the 0-based paragraph index; length defaults to the rest.”stopsarrayrequired“Tab stops.”repeatinteger“Repeat Tab: add this many stops after the last one, each at the distance between the last two stops (or from 0 with one stop)”
- get_text_attributesreads or searches
“Read the formatting of text frames or the selected text: character and paragraph attributes (of the first character and paragraph of the range), tab stops, the character and paragraph styles in use, …”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
3 inputs, 1 required
targetobjectrequired“Which items to act on.”rangeobject“Characters to format in each frame (or in the selected text): start is the 0-based character offset; length defaults to the rest of the text.”limitinteger“Most ranges to report”
“List the document's character and paragraph styles (Character Styles and Paragraph Styles panels), optionally with their attributes”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
2 inputs
kindstringattributesboolean“Include each style's attributes”
“Create a character or paragraph style (New Character Style, New Paragraph Style), optionally from the formatting of existing text (its first character and paragraph), then with the given attributes, …”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
6 inputs, 2 required
kindstringrequirednamestringrequiredfromobject“Text whose formatting the style starts from.”applyboolean“Apply the new style to the from text”characterobject“Character attributes, as set_character_attributes takes them”paragraphobject“Paragraph attributes, as set_paragraph_attributes takes them (paragraph styles only)”
- edit_text_stylecreates or changes datadescribed as changing data
“Change a character or paragraph style (Character Style Options, Paragraph Style Options): rename it and set attributes.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
6 inputs, 2 required
kindstringrequirednamestringrequirednewNamestringresetbooleancharacterobject“Character attributes, as set_character_attributes takes them”paragraphobject“Paragraph attributes, as set_paragraph_attributes takes them (paragraph styles only)”
- delete_text_stylesdeletesdescribed as changing data
“Delete character or paragraph styles by name (Delete Character Style, Delete Paragraph Style).”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
2 inputs, 2 required
kindstringrequirednamesarrayrequired
“Apply a character style to text frames, a character range or the selected text, or a paragraph style to their paragraphs.”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
6 inputs, 2 required
kindstringrequirednamestring“Style to apply.”targetobjectrequired“Which items to act on.”rangeobject“Character styles: Characters to format in each frame (or in the selected text): start is the 0-based character offset; length defaults to the rest of the text.”paragraphsobject“Paragraph styles: Paragraphs to format in each frame: start is the 0-based paragraph index; length defaults to the rest.”clearOverridesboolean
- load_text_stylescreates or changes datadescribed as changing data
“Load character styles, paragraph styles or both from another Illustrator file (Load Character Styles, Load Paragraph Styles, Load All Styles).”
Publisher declares: read-only no · destructive yes · idempotent yes · open-world no
2 inputs, 1 required
filePathstringrequired“Absolute path of an .ai file”kindstring
“Set text frame options: convert between point and area type (Type > Convert To Area Type / Point Type), resize the type area without scaling the text, Area Type Options (rows, columns, gutters, inset…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
14 inputs, 1 required
targetobjectrequired“Which items to act on.”convertTostring“Convert point type to area type or back first”widthnumber“Area type: width of the type area in points”heightnumber“Area type: height of the type area in points”rowsintegerrowGutternumber“Points”columnsintegercolumnGutternumber“Points”insetnumber“Inset spacing in points”firstBaselinestringfirstBaselineMinnumber“First baseline minimum offset in points”textFlowstring“Text flow across rows first or down columns first”opticalMarginAlignmentboolean“Type > Optical Margin Alignment”antiAliasingstring“Anti-aliasing of the type in raster output”
“Thread text between area or path type frames (Type > Threaded Text): link flows text through the frames in the order given; release takes the frames out of their threads, keeping the rest linked (Rel…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
3 inputs, 2 required
targetobjectrequired“Which items to act on.”operationstringrequiredseparateParagraphsboolean“link: end each frame's text with a paragraph return before the next frame's text joins it”
“Draw an arc (Arc tool, with the Arc Segment Tool Options): the arc spans a width x height box (Length X-Axis, Length Y-Axis) from the start corner to the opposite corner.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
15 inputs, 4 required
artboardIndexinteger“Artboard index (0-based).”xnumberrequired“Left edge of the box, points from the artboard's left”ynumberrequired“Top edge of the box, points from the artboard's top”widthnumberrequired“Length X-Axis in points”heightnumberrequired“Length Y-Axis in points”startCornerstring“Corner of the box where the arc starts (the dialog's reference point).”closedboolean“Type: true for a closed arc, false for open.”baseAlongstring“Base Along: the axis the arc leaves its start point along.”slopenumber“Slope, -100 (concave) to 100 (convex).”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
- create_spiralcreates or changes datadescribed as changing data
“Draw a spiral (Spiral tool, with its dialog's options): radius from the centre to the outermost point, decay (each quarter-turn segment's radius as a percentage of the one before), segments (quarter …”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
13 inputs, 3 required
artboardIndexinteger“Artboard index (0-based).”centerXnumberrequiredcenterYnumberrequiredradiusnumberrequired“Points from the centre to the outermost point”decaynumber“Percent, 5-100.”segmentsinteger“Quarter-turn segments.”stylestring“Direction the spiral winds in from its outer end.”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
- create_rectangular_gridcreates or changes datadescribed as changing data
“Draw a rectangular grid (Rectangular Grid tool, with its options dialog) as a group: horizontal and vertical dividers with skew, and the outside edges as one rectangle (Use Outside Rectangle As Frame…”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
16 inputs, 4 required
artboardIndexinteger“Artboard index (0-based).”xnumberrequired“Left edge of the grid, points from the artboard's left”ynumberrequired“Top edge of the grid, points from the artboard's top”widthnumberrequired“Default Size: width in points”heightnumberrequired“Default Size: height in points”horizontalDividersinteger“Number of horizontal lines between the top and bottom edges.”horizontalSkewnumber“Skew, -500 to 500 percent.”verticalDividersinteger“Number of vertical lines between the left and right edges.”verticalSkewnumber“Skew, -500 to 500 percent.”frameboolean“Use Outside Rectangle As Frame: draw the outside edges as one rectangle.”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
- create_polar_gridcreates or changes datadescribed as changing data
“Draw a polar grid (Polar Grid tool, with its options dialog) as a group: concentric ellipses and radial lines, each with skew.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
16 inputs, 4 required
artboardIndexinteger“Artboard index (0-based).”xnumberrequired“Left edge of the grid, points from the artboard's left”ynumberrequired“Top edge of the grid, points from the artboard's top”widthnumberrequired“Default Size: width in points”heightnumberrequired“Default Size: height in points”concentricDividersinteger“Number of ellipses inside the outer one.”concentricSkewnumber“Skew, -500 to 500 percent.”radialDividersinteger“Number of lines from the centre to the edge.”radialSkewnumber“Skew, -500 to 500 percent.”compoundPathboolean“Create Compound Path From Ellipses: pair the ellipses from the outside in as compound paths, so alternate rings are filled.”fillstring“Fill.”strokestring“Stroke colour.”strokeWeightnumber“Stroke weight in points”opacitynumber“Opacity, 0-100”layerstring“Layer to draw on.”namestring“Name for the new item (shown in the Layers panel)”
- convert_live_shapescreates or changes datadescribed as changing data
“Turn paths that resemble rectangles, rounded rectangles, ellipses, polygons or lines into live shapes (Object > Shape > Convert to Shape), or turn live shapes back into ordinary paths (Object > Shape…”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
2 inputs, 2 required
targetobjectrequired“Which items to act on.”operationstringrequired“convert_to_shape or expand_shape”
- toggle_corner_widgetcreates or changes datadescribed as changing data
“Show or hide the corner widget, the on-canvas control for rounding live-shape corners (View > Show / Hide Corner Widget).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
Takes no inputs.
“Set the fill of paths, compound paths, groups (every path inside) and text frames.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs, 2 required
targetobjectrequired“Which items to act on.”colorstringrequired“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”tintnumber“Tint percent of a spot or global swatch.”
“Set the stroke of paths, compound paths and groups: colour, weight, caps, joins and dashes.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
9 inputs, 1 required
targetobjectrequired“Which items to act on.”colorstring“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”tintnumber“Tint percent of a spot or global swatch.”weightnumber“Points”capstringjoinstringmiterLimitnumberdashesarray“Dash and gap lengths in points, e.g.”dashOffsetnumber
“Set the opacity and blending mode of items”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs, 1 required
targetobjectrequired“Which items to act on.”opacitynumberblendModestring
“Read the fill, stroke, opacity and blending mode of items”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
“List the document's swatches with their kind (process, global, spot), colour values and swatch group”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“Add a swatch: a process colour, a global process colour (editing it updates every object that uses it), or a spot colour (an ink such as a Pantone colour or a varnish plate).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
5 inputs, 2 required
namestringrequiredcolorstringrequired“"cmyk(c,m,y,k)", "rgb(r,g,b)", "#RRGGBB" or "gray(g)"; a spot colour can also be "lab(L,a,b)"”spotboolean“Create a spot colour.”globalboolean“Create a global process colour.”groupstring“Swatch group to put it in, created if needed”
“Add a linear or radial gradient swatch from colour stops, and optionally apply it as the fill of items”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
5 inputs, 2 required
namestringrequiredtypestringstopsarrayrequiredapplyToobject“Which items to act on.”anglenumber“Angle in degrees for linear gradients applied to items”
“List the graphic styles in the document (Graphic Styles panel), in panel order”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
“Apply a graphic style from the document's Graphic Styles panel to items.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
3 inputs, 2 required
targetobjectrequired“Which items to act on.”stylestringrequired“Graphic style name (list_graphic_styles)”mergeboolean“Add the style to the items' current appearance instead of replacing it.”
- rename_graphic_stylecreates or changes datadescribed as changing data
“Rename a graphic style (Graphic Styles panel menu > Graphic Style Options)”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
2 inputs, 2 required
namestringrequired“Current name”newNamestringrequired
- delete_graphic_stylesdeletesdescribed as changing data
“Delete graphic styles from the document (Graphic Styles panel menu > Delete Graphic Style).”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
namesarrayrequired“Graphic style names”
- save_graphic_style_librarycreates or changes datadescribed as changing data
“Save the document's graphic styles as a graphic style library file (Graphic Styles panel menu > Save Graphic Style Library), an .ai file other documents can open as a library”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
1 input, 1 required
filePathstringrequired“Absolute .ai path”
- open_graphic_stylescontrols a browser or desktopdescribed as changing data
“Show the Graphic Styles panel (Window > Graphic Styles), or open one of Illustrator's built-in graphic style libraries as a panel (Window > Graphic Style Libraries).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
1 input
librarystring“Built-in library to open.”
- add_appearance_attributecreates or changes datadescribed as changing data
“Add another fill or stroke to each item's appearance (Appearance panel menu > Add New Fill / Add New Stroke), so one object can carry several fills or strokes.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
3 inputs, 2 required
targetobjectrequired“Which items to act on.”attributestringrequiredcountinteger“How many to add to each item.”
- set_transparency_groupcreates or changes datadescribed as changing data
“Set Knockout Group and Isolate Blending (Transparency panel) on groups, other items or layers.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
4 inputs
targetobject“Which items to act on.”layersarray“Layer names, instead of or as well as target”knockoutstring“on, off, or inherit (the neutral state of the checkbox)”isolateBlendingboolean
- toggle_view_optiondescribed as changing data
“Show or hide the transparency grid (View > Show / Hide Transparency Grid) or Live Paint gap highlighting (View > Show / Hide Live Paint Gaps).”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
1 input, 1 required
optionstringrequired
- make_live_paintcreates or changes datadescribed as changing data
“Make a Live Paint group from paths (Object > Live Paint > Make), or add paths to an existing Live Paint group (Object > Live Paint > Merge) when into is given.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
2 inputs, 1 required
targetobjectrequired“Which items to act on.”intoobject“An existing Live Paint group to merge the target paths into”
- release_live_paintdeletesdescribed as changing data
“Release Live Paint groups back into plain paths with a thin black stroke and no fill (Object > Live Paint > Release)”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
- expand_live_paintdeletesdescribed as changing data
“Expand Live Paint groups into ordinary filled and stroked paths that keep their painted look (Object > Live Paint > Expand)”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
- get_default_fill_strokereads or searches
“Read the document's default fill and stroke, the attributes new objects get, and whether the Fill or the Stroke box is in front in the toolbar's Fill and Stroke controls”
Publisher declares: read-only yes · destructive no · idempotent yes · open-world no
Takes no inputs.
- set_default_fill_strokecreates or changes datadescribed as changing data
“Set the document's default fill and stroke, the attributes new objects get.”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
11 inputs
resetboolean“White fill, black 1 pt solid stroke”fillstring“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”strokestring“A swatch name, "#RRGGBB", "rgb(r,g,b)" (0-255), "cmyk(c,m,y,k)" (0-100), "gray(g)" (0-100, 100 = black) or "none"”strokeWeightnumber“Points”capstringjoinstringmiterLimitnumberdashesarray“Dash and gap lengths in points.”dashOffsetnumberfillOverprintbooleanstrokeOverprintboolean
- swap_fill_strokecreates or changes datadescribed as changing data
“Swap the fill and stroke colours of paths, compound paths and groups (every path inside), as the toolbar's Swap Fill and Stroke button does.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
- reset_fill_strokecreates or changes datadescribed as changing data
“Give paths, compound paths and groups (every path inside) a white fill and a black 1 pt solid stroke, as the toolbar's Default Fill and Stroke button does for selected objects”
Publisher declares: read-only no · destructive no · idempotent yes · open-world no
1 input, 1 required
targetobjectrequired“Which items to act on.”
- edit_colorsdescribed as changing data
“Recolour the targets with an Edit > Edit Colors command: convert to CMYK, RGB or grayscale, invert, or blend the fills between the frontmost and backmost (or leftmost and rightmost, topmost and botto…”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
2 inputs, 2 required
targetobjectrequired“Which items to act on.”operationstringrequired
- create_swatch_groupcreates or changes datadescribed as changing data
“Create a swatch group (a colour group in the Swatches panel), optionally moving existing swatches into it”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
2 inputs, 1 required
namestringrequiredswatchesarray“Names of existing swatches to move into the group”
- delete_swatchesdeletesdescribed as changing data
“Delete swatches by name”
Publisher declares: read-only no · destructive yes · idempotent no · open-world no
1 input, 1 required
namesarrayrequired
- add_used_colorscreates or changes datadescribed as changing data
“Add a swatch for each process colour used in the fills and strokes of the artwork (Swatches panel > Add Used Colors), skipping colours that already have one.”
Publisher declares: read-only no · destructive no · idempotent no · open-world no
2 inputs
targetobject“Only these items.”groupstring“Put the new swatches in this swatch group, created if needed”
Each quoted sentence is the first sentence of the publisher’s own description. The kind of tool and the “changes data” mark are our AI model’s reading of that description, not something we tested: two differently worded runs had to agree, otherwise no label is shown, and nobody has checked them by hand. A tool without the “changes data” mark is described as only reading, searching or calculating, or the two runs did not agree. No tool was called. Read the publisher’s full description before relying on it. “Publisher declares” lists the hints the server itself sends with the tool (MCP annotations: read-only, destructive, idempotent, open-world); they are the publisher's claims, not checked by us. Inputs are the parameters in the tool's own input schema: name, declared type, whether it is required, and the first sentence of its description. The first 100 of 308 tools are listed. Read 2026-10-23.
How well are its tools described?
Features #4 and #5
How clearly this server's own tool descriptions say what a tool does, and how consistent its tool list is. The first part is an AI model's yes/no reading of each description; the second part is counted. We do not turn it into a grade.
Descriptions
AI reading of each description
- Says what the tool does
- 100% of 188 tools
- Says what it returns
- 19% of 183 tools
- States limits, defaults or errors
- 4% of 178 tools
- Says when to use it
- 1% of 187 tools
- Items covered per tool
- 1.3 of 4 on average
Counted from the listing
- Parameters with a description
- 84% of 1,363
- Tools with a description
- 100% of 308
- Typical description length
- 228 characters
The tool set
Counted from the listing
- Tools
- 308
- Size of the list
- about 94,389 tokens for an agent to load (characters ÷ 4)
- Naming
- 305 of 308 names use snake_case
AI reading: easy to mix up
No pair found.
The AI items cover 188 of 308 tools: for a tool where two differently worded runs disagreed, that item is left out. They were not checked by hand, and no tool was called. “Easy to mix up” means two tools whose names or descriptions overlap without saying how they differ; the AI found none, comparing tools within groups of 40. We do not rate whether the tool set is complete or whether side effects are spelled out, because our AI reading of those was not reliable enough.
How do I add it to my client?
Config from the registry entry
From the npm package adobe-mcp-illustrator
Our sandbox started this package on 2026-10-23 (a read-only session: no tool was called).
Add to CursorAn install link in the format Cursor documents, holding the Cursor config below. The command runs the publisher’s code on your machine.
Claude Desktop · claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"adobe-mcp-illustrator": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-illustrator@0.9.0"
]
}
}
}Cursor · .cursor/mcp.json in a project, or ~/.cursor/mcp.json
{
"mcpServers": {
"adobe-mcp-illustrator": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-illustrator@0.9.0"
]
}
}
}VS Code · .vscode/mcp.json
{
"servers": {
"adobe-mcp-illustrator": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"adobe-mcp-illustrator@0.9.0"
]
}
}
}VS Code (command line) · Bash or zsh terminal (macOS, Linux)
code --add-mcp '{"name":"adobe-mcp-illustrator","type":"stdio","command":"npx","args":["-y","adobe-mcp-illustrator@0.9.0"]}'Claude Code
claude mcp add --transport stdio adobe-mcp-illustrator -- npx -y adobe-mcp-illustrator@0.9.0
Try it in the MCP Inspector · runs on your machine, opens in your browser · Node 22.19+
npx @modelcontextprotocol/inspector@2.11.0 -- npx -y adobe-mcp-illustrator@0.9.0
- Optional settings the entry also lists (left out above): ILLUSTRATOR_APP_NAME, ILLUSTRATOR_ALLOWED_DIRS, ILLUSTRATOR_SCRIPT_TIMEOUT_MS.
- This runs the publisher's code on your machine (npx). Read its README first.
- The MCP Inspector lists the server's tools, resources and prompts; a tool you call there runs for real.
Built from the server's registry entry with each client's documented format (checked 2026-10-14; the Cursor link and the VS Code command 2026-10-19; the MCP Inspector command 2026-10-21). Values in < > are yours to fill in; this page never contains a key. Where the server needs a setting the entry does not declare, it can still fail to start.
Can it be installed, and is it up to date?
Version pin · advisories
Listed version
- Registry lists
- 0.9.0
- Latest stable
- 0.9.0
- Status
- current
- Withdrawn
- no
Source: registry.npmjs.org · 2026-10-23. About the version the registry lists; a manual install may resolve to a different one.
Dependency advisories
Counted in the full dependency tree as resolved on 2026-10-23 (npm audit). Bars share one scale. The package itself has no known vulnerability (OSV.dev).
Integrity, provenance, license
- Integrity
- sha512-9Azc9PtTI1VjzIk8f…
- Signature
- signed and attested
- License
- MIT
Source: the package registry · 2026-10-23.
Usage
- Downloads
- 242 in the last month
Source: api.npmjs.org · 2026-10-23.
Does the registry listing match what we found?
Feature #6The registry verifies a package once, when it is published, and does not re-check it. A difference below is about the listing, not a judgement of the publisher.
| Registry says | We found | Result | Source · date |
|---|---|---|---|
| Published package can be started | Started and answered | matches | our test · 2026-10-23 |
| Version 0.9.0 on npm | Exists and can be installed | matches | npm · 2026-10-23 |
| Repository github.com/zachshallbetter/adobe-mcp | Opens publicly | matches | api.github.com · 2026-10-23 |
Who made it?
Feature #7 · lineage
Facts about the publisher. We do not turn them into a trust score.
- Namespace
- io.github.zachshallbetter · 7 servers
- GitHub owner
- a personal account (zachshallbetter)
- Build record
- signed and attested
- Repository
- github.com/zachshallbetter/adobe-mcp
- Stars
- 26
- Repository age
- over a year
- Last push
- 0–30 days ago
- Archived
- no
- Security policy
- SECURITY.md
Source: the registry entry and api.github.com · 2026-10-23; security policy read from GitHub · 2026-10-23.
Publish this server? Run these checks against it yourself before release, from your own machine: a server the command starts, or your own server at its URL after a one-time proof that you control it: npx protocolprobe-selftest.
Choosing
Record checks
Public records · not a safety rating9 of 9 record checks met
- #8,592 of 15,112 packages by monthly downloads, tied with 22 others
- #1,622 of 22,952 repositories by GitHub stars, tied with 34 others (repository shared with 5 other registry entries)
- #924 of 1,074 packages meeting all 9 record checks, by downloads, tied with 1 other
- MetRegistry entry is active and says how to run itActive, with a package or a remote address.
- MetSource repository link opensThe linked GitHub repository is public.
- MetRepository is not archivedNot archived.
- MetCode pushed to the repository in the 90 days before our checkLast push 0-30 days before our check.
- MetRepository publishes a security policy (SECURITY.md)SECURITY.md found.
- MetPackage names its licence with a standard (SPDX) identifierMIT
- MetThe version the registry lists can be installed and is not withdrawnThe listed version exists and is current.
- Metnpm package carries build provenance (attestation)Signed, with a build attestation naming the source and workflow.
- MetNo known critical or high advisory in the package or its dependenciesNone known in the package or its dependency tree.
Read from public records only: the registry entry, npm/PyPI, GitHub and advisory databases, checked 2026-10-23. No tool was called. Only “met” and “not met” are counted, so the total differs between servers; a check that does not apply or that we could not run is listed, never counted against it. It is not a safety rating. How each check works · Leaderboards
Common questions about io.github.zachshallbetter/adobe-mcp-illustrator
Answered from the data aboveIs io.github.zachshallbetter/adobe-mcp-illustrator safe to install?
We do not rate servers as safe or unsafe. 9 of its 9 applicable record checks are met (facts from public records, each listed on this page). What the records show: Its npm package carries a build-provenance attestation that names its source repository and build workflow. Its source repository opens publicly. Its repository had a push in the last 90 days. The listed version is the latest stable release. The package itself has no known vulnerability (OSV.dev). Its full dependency tree has no known advisory. 154 of its tools describe changing data (our AI model's reading of the descriptions). These are facts with their sources on this page, not a safety guarantee, and we did not run its tools.
Has io.github.zachshallbetter/adobe-mcp-illustrator been security tested?
Partly. 2 of the 12 checks that apply to it were exercised. We started the package in an isolated sandbox and read what it declares, but this test round was read-only, so its tools were not called. No security verdict is published before verification.
What can io.github.zachshallbetter/adobe-mcp-illustrator do?
It lists 308 tools. In our AI model's reading of their descriptions (two runs had to agree, nobody checked it by hand), they include tools that read or search, create or change data, delete, run code or commands and control a browser or desktop. We did not call any tool, so this describes the text, not the behaviour.
Can io.github.zachshallbetter/adobe-mcp-illustrator change or delete data?
154 of its tools say in their description that they create, edit, delete, send or run something (our AI model's reading). We did not call any tool, so we cannot say what actually happens.
Does io.github.zachshallbetter/adobe-mcp-illustrator publish a security policy?
Yes: its repository has a public security policy (github.com/zachshallbetter/adobe-mcp/blob/HEAD/SECURITY.md). That is the publisher's statement, not permission for us to test the server, and we call none of its tools.
Is the listed version current?
Yes. The registry lists 0.9.0, the latest stable release on npm.
Where is the source code of io.github.zachshallbetter/adobe-mcp-illustrator?
In github.com/zachshallbetter/adobe-mcp, which opens publicly.
Found this page useful?
Anonymous · no sign-inA quick, anonymous reaction — no account, no email. One per kind from your browser. The tally updates when the page is next refreshed, and it is only a rough count, never a safety rating or a measured number of people.
Similar servers
Same topic · AI-read
- io.github.leancoderkavy/premiere-proMCP for Adobe Premiere Proalso has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
- io.github.KyaniteLabs/mcp-videomcp-videoalso has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
- io.github.aadeshrao123/unreal-mcpUnrealMCP — AI Bridge for Unreal Engine 5also has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
- io.github.wstierhout/ableton-live-mcpAbleton Live MCP Serveralso has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
- io.github.zachshallbetter/adobe-mcp-aftereffectsAfter Effects MCP Serveralso has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
- io.github.zachshallbetter/adobe-mcp-indesignInDesign MCP Serveralso has tools that controls a browser or desktop, creates or changes data, deletes, runs code or commands, reads or searchescompare with this one
Active servers whose topic is also “media-and-design” and that have at least one tool of the same kind; most kinds in common first, then most GitHub stars. The topic and the tool kinds are an AI model's reading of the publishers' descriptions, not checked by hand. Similar is not a recommendation.
Compare with another server
Side by side: registry entry, our read-only session, the tools and the 18 classification fields. Same values as each page; no score.
Security testing
What did we test, and what did we leave out?
18 checks · features #1, #2
Not probed (read-only run)
We started the package in an isolated sandbox and read what it declares, but this test round was read-only, so its tools were not called. No security score is given; a check we did not run is never counted as passed.
- Inventory: exercised
- Hidden instructions: exercised
- Real execution: not run · our policy
- Secret leak: not run · nothing to check it against
- Internal addresses: not run · our policy
- Unconfirmed changes: not run · our policy
- Bad input: not run · our policy
- Model requests: not run · nothing to check it against
- Sensitive questions: not run · nothing to check it against
- Folder boundary: not run · our policy
- Log leaks: not run · nothing to check it against
- Hidden content: not run · nothing to check it against
- Fake assistant turns: not applicable
- Token passthrough: not applicable
- Token audience: not applicable
- Sign-in redirect: not applicable
- Consent handling: not applicable
- Sign-in metadata: not applicable
2 exercised10 not run (reason given)6 not applicable
Each check ends in exactly one state: exercised, not run (with the reason), or not applicable (with the reason). 2 of the 12 checks that apply to it were exercised. We do not publish security-check outcomes for named servers.
- 1Inventory
tool-listReads the declared tools, resources and prompts.exercised - 2Hidden instructions
description-poisoningLooks for hidden instructions in tool descriptions.exercised
- 3Real execution
real-executionCalls a tool and checks what really happens.This check calls the package's tools. This test round was read-only, so no tool was called; tools can act on outside services with the publisher's or a user's account.not run · our policy - 4Secret leak
canary-leakPlants a fake secret and checks whether it leaks.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 5Internal addresses
ssrfChecks whether a tool can be steered to internal addresses.This check calls the package's tools. This test round was read-only, so no tool was called; tools can act on outside services with the publisher's or a user's account.not run · our policy - 6Unconfirmed changes
write-without-confirmationChecks whether tools that change data act without asking.This check calls the package's tools. This test round was read-only, so no tool was called; tools can act on outside services with the publisher's or a user's account.not run · our policy - 7Bad input
error-handlingSends bad input and watches how the server answers.This check calls the package's tools. This test round was read-only, so no tool was called; tools can act on outside services with the publisher's or a user's account.not run · our policy - 8Model requests
samplingChecks whether the server asks the client's model to act for it.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 9Sensitive questions
elicitation-sensitive-dataChecks whether the server asks users for sensitive data.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 10Folder boundary
root-boundaryChecks whether the server reaches outside the folders it was given.This check calls the package's tools. This test round was read-only, so no tool was called; tools can act on outside services with the publisher's or a user's account.not run · our policy - 11Log leaks
logging-side-channelChecks whether log messages carry data they should not.This check needs at least one successful tool call to have something to check, and no tool was called.not run · nothing to check it against - 12Hidden content
audience-hidingChecks resources that hide content from the user.This check needs content the server returns, and nothing was read or called.not run · nothing to check it against
- 13Fake assistant turns
fake-assistant-turnChecks prompts that pose as the assistant's own words.The server exposes no prompts.not applicable - 14Token passthrough
token-passthroughChecks whether the server forwards a user's token to other services.The server runs locally over standard input/output, so there is no sign-in flow to check.not applicable - 15Token audience
token-audience-validationChecks whether tokens meant for another service are accepted.The server runs locally over standard input/output, so there is no sign-in flow to check.not applicable - 16Sign-in redirect
open-redirectChecks the sign-in redirect for abuse.The server runs locally over standard input/output, so there is no sign-in flow to check.not applicable - 17Consent handling
confused-deputyChecks consent handling when one service acts for another.The server runs locally over standard input/output, so there is no sign-in flow to check.not applicable - 18Sign-in metadata
oauth-url-schemeChecks the published sign-in metadata for unsafe URLs.The server runs locally over standard input/output, so there is no sign-in flow to check.not applicable
Source: our own test in an isolated sandbox, 2026-10-23, mcp-runtime-engine@0.1.0. Which checks count and why follows our published scoring model.
What happened during the test?
Feature #8
The steps in order, as the test record holds them.
- 0 msStarted the published package in an isolated sandbox (read-only mode)
- 5,296 msConnected after 0 redirects.
- Read the inventory: 308 tools, 0 resources, 0 prompts.
- 6,030 msFinished: 2 checks exercised.
Reference
How is it classified?
18 fields
One value per field, each with its source. Fields written by AI models are marked. A field with no value says why.
“Not stated” means the source did not state it; “does not apply” means it does not apply to this kind of server; “our limit” means our own lookup failed. A linked value opens the directory filtered to the same value.
Cite or correct this page
Sources and corrections
Suggested citation
ProtocolProbe. “io.github.zachshallbetter/adobe-mcp-illustrator: MCP server record.” Data checked 2026-10-23. https://protocolprobe.com/mcp/servers/io.github.zachshallbetter/adobe-mcp-illustrator
Figures are valid for the date shown. Our facts on this page are CC BY 4.0: reuse them with a link and the check date. Quoted text (the publisher’s descriptions, website quotes, tool names) is not ours to license.
As JSON: this record in the API · API documentation.
Badge for your README
[](https://protocolprobe.com/mcp/servers/io.github.zachshallbetter/adobe-mcp-illustrator)
It shows this server's record-check count: facts from public records, no tool called. It is not a security rating or a pass. It links here and updates after each data reload.
Something wrong, or is this yours?
If a fact here is wrong, tell us and we will re-check it. If you operate this server, you can run our checks on it yourself with the free self-test command; we call no server’s tools ourselves for anything shown here.
Write to hello@protocolprobe.com · corrections log · methodology