
Illustrator MCP Server
io.github.zachshallbetterPublished by GitHub account zachshallbetterv0.9.1Updated Nov 4, 2026
Drive Adobe Illustrator from any MCP client: artwork, type, colour, effects, data and export.
Overview
Drives Adobe Illustrator from an MCP client: documents, artboards, layers, shapes, type, colour, effects, data sets and export.
- What you can do
- Create, open, save, close and configure documents, presets and file info
- Manage artboards, layers, selections, arranging, grouping and clipping masks
- Draw and edit shapes, paths, live shapes, blends, patterns, symbols and 3D effects
- Set text, typography, fonts, path text and CJK or right-to-left type options
- Work with swatches, gradients, graphic styles, Live Paint, recolouring and colour settings
- Place and trace images, manage links, variables and data sets, run actions and batches
- When to use it
- Useful when you want an assistant to produce or edit Illustrator artwork programmatically on a desktop where Illustrator is installed, for example generating layouts, applying styles and effects, or batch-exporting artboards and data sets.
- Requirements
- Runs locally over stdio via npx, so Node.js 18 or later is needed, plus Adobe Illustrator 2023 or later on macOS or Windows. On macOS the first call needs Automation permission to control Illustrator. Optional variables: ILLUSTRATOR_ALLOWED_DIRS, ILLUSTRATOR_APP_NAME, ILLUSTRATOR_SCRIPT_TIMEOUT_MS.
Installation
In SourceWeft
- Open Illustrator MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Illustrator MCP Server
An MCP server that drives Adobe Illustrator: documents, artboards, layers, shapes and paths, text, colour, pathfinder operations and export. It runs on the machine where Illustrator is installed and talks to it through ExtendScript, the scripting interface Illustrator ships with.
Requires Illustrator 2023 or later on macOS or Windows, and Node.js 18 or later.
Install
Claude Code:
Any client that reads an mcpServers block (Claude Desktop, Cursor, Warp, …):
On macOS the first call asks for permission to control Illustrator (System Settings > Privacy & Security > Automation).
Conventions
- Positions and sizes are points (72 pt = 1 in), measured from the top-left
corner of an artboard (
artboardIndex, default 0), with y increasing downward. Illustrator's own document coordinates run upward; the server converts both ways and accounts for large-canvas documents. - Items are chosen with
target:{ ids: [...] },{ names: [...] }or{ selection: true }. Ids are Illustrator's own item ids (PageItem.uuid); they come fromlist_itemsand from every tool that creates artwork. - Colours are a swatch name,
"#RRGGBB","rgb(r,g,b)","cmyk(c,m,y,k)","gray(g)"or"none". A document's colour mode is fixed when it is created, socreate_documentasks for it. - Fonts are PostScript names;
list_fontsfinds them. - Files must be inside your home folder or a directory in
ILLUSTRATOR_ALLOWED_DIRS.
Tools
help({ tool }) describes any tool's parameters.
How it stays out of your way
- No dialogs. Every script switches Illustrator's alerts off while it runs and restores your setting afterwards, even when the script fails, so a warning cannot leave a call waiting.
- Your settings come back. The coordinate system a script uses is set for that script and restored afterwards.
- Timeouts say why. If Illustrator does not answer within
ILLUSTRATOR_SCRIPT_TIMEOUT_MS(default 120 s), the error says a dialog is probably open in Illustrator. - Menu commands are checked. Illustrator ignores a menu command name it does
not know and reports nothing for one it does.
execute_menu_commandaccepts only the 859 known names (unless you passallowUnknown) and returns the selection and document state after the command, so you can see what it did. - Live Effects and preferences come from published practice. Adobe does not
document the LiveEffect XML that
apply_effectandpathfinderpass toapplyEffect, nor the preference keys behindset_preferences; the server uses only parameters and keys that published scripts rely on, recorded with their sources in the capability atlas.pathfindercan fall back to Illustrator's menu commands withmethod: "menu". The Photoshop effects (Effect Gallery, Artistic, Sketch, Texture and the rest) are not offered: each command opens a dialog, and their LiveEffect parameters are stored as encoded binary that no published script sets. NTSC Colors, which has no dialog, is the exception. - Commands through a temporary Action. The object model cannot set a
blend's steps or orientation, run Simplify, make a Pathfinder compound shape
or flatten transparency, so
make_blend,set_blend_options,simplify_path,compound_shapeandflatten_transparencywrite a one-step Action, play it with its dialog closed and unload it again. The Action parameters are the ones published scripts and recorded action sets use. - Dialogs done by script. Average, Clean Up, Split Into Grid, Transform
Each, Batch and several Edit Colors commands open a dialog, so the server does
what each dialog describes through the object model instead. Smooth and
Offset Path have no such route and are not offered (
apply_effectwithoffset_pathandexpandcovers Offset Path). - Actions edited as files. Illustrator can play, load and unload an action
but cannot list or change a loaded one.
list_actionsreads the sets from Illustrator's preferences, as AiCommandPalette does, andload_actionsandcreate_action_setmake their changes to the .aia file before loading it.run_batchdoes what the Batch dialog does, one call per file, so a long batch does not time out. - Data sets from records. Illustrator captures a data set from the artwork as
it is, so
create_data_setssets each record's values on the bound objects and then captures it, the way published variable scripts do. - No raw input in scripts. Every value a caller passes is validated and written into the script as a literal.
Configuration
Development
The static audit runs every tool with sample arguments against a stubbed Illustrator and checks that each generated script parses as ES5 and uses only names in Illustrator's scripting object model (2022 to 2025). It does not run anything in Illustrator: a tool that passes it has not necessarily been run against the application.
Shared infrastructure (script escaping, the executor, the server shell, the audit) comes from adobe-mcp-core, the foundation shared with adobe-mcp-indesign.
Licence
Source: packages/illustrator/README.md at commit 44b5b50
Tools
0Version history
3- v0.9.1LatestNov 4, 2026
- v0.9.0Oct 15, 2026
- v0.3.0Oct 15, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts