A side-by-side look at the Figma MCP Rust and Illustrator MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Figma MCP Rust for architecture & design work as a local process; choose Illustrator MCP Server for architecture & design as a local process. You can also run both side by side in one mcpServers block.
create_frame, create_rectangle, create_ellipse.ILLUSTRATOR_MCP_TIMEOUT_NORMAL, ILLUSTRATOR_MCP_TIMEOUT_HEAVY.get_document_info, get_artboards, get_layers.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Architecture & Design | Architecture & Design |
| Quality signal | 51/100 · Good | 69/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | ILLUSTRATOR_MCP_TIMEOUT_NORMALILLUSTRATOR_MCP_TIMEOUT_HEAVY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 172 |
| Directory activity | 0 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 73 | 66 |
| Full listing | View Figma MCP Rust | View Illustrator MCP Server |
create_frameCreate a frame with optional auto-layout, fill, and parentcreate_rectangleCreate a rectangle with optional fill and corner radiuscreate_ellipseCreate an ellipse or circlecreate_textCreate a text node (font loaded automatically)import_imageDecode base64 image and place it as a rectangle fillcreate_componentConvert an existing FRAME node into a reusable componentcreate_sectionCreate a Figma Section node to organise frames on a pageset_textUpdate text content of an existing TEXT nodeset_fillsSet solid fill color (hex) on a nodeset_strokesSet solid stroke color and weight on a nodeset_opacitySet opacity of one or more nodes (0 = transparent, 1 = opaque)set_corner_radiusSet corner radius, uniform or per-cornerget_document_infoGet document metadataget_artboardsGet all artboard informationget_layersGet layer structure as a treeget_selectionGet detailed information about the currently selected objects. While editing text (text cursor or selected characters), the containing text frame is returned with a textSelection field (selected contents, length, start; insertionPoint: true for a bare cursor).list_text_framesList text frames with summary-level information (including orientation and threaded-frame links nextFrameUUID/previousFrameUUID). Supports reading-order sort, pagination, and a lightweight contents-only mode. layer_name includes text inside groups and sublayers of that layer.get_text_frame_detailGet detailed text frame attributes including per-character runs (font, tracking, akiLeft/akiRight, tsume, proportionalMetrics), kerning pairs with manual kerning values (1/1000 em), paragraph attributes (leading, autoLeading, paragraph style), orientation (horizontal/vertical) and threaded-frame links (nextFrameUUID/previousFrameUUID). Returns cssHints for web/CSS reproduction.get_colorsGet all color information used in the document. usedFillColors / usedStrokeColors list each distinct color once with a count of how many paths and text ranges use it (most used first).get_path_itemsGet path and shape data, including paths inside groups and compound paths (clipping: true marks a clipping-mask path). Note: fill/stroke do not include per-attribute opacity; use the item-level opacity field for transparency.get_guidelinesGet guide informationget_groupsGet structure of groups, clipping masks, and compound paths. Children of a clipping-mask group mark the mask path with clipping: true. When depth cuts the tree off, the item has childrenTruncated: true and childCount (children is empty only because of the depth limit).get_effectsGet effect and appearance informationget_imagesGet embedded and linked image information: file path, broken-link status (linkBroken: file missing on disk), pixel size, and effective resolution (ppi at the placed size; rotation-safe).Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"figma-mcp-rust-2": {
"command": "npx",
"args": [
"-y",
"@nntoan/figma-mcp-rust@latest"
]
}
}
}
{
"mcpServers": {
"illustrator-mcp-server": {
"command": "npx",
"args": [
"-y",
"illustrator-mcp-server"
],
"env": {
"ILLUSTRATOR_MCP_TIMEOUT_NORMAL": "YOUR_ILLUSTRATOR_MCP_TIMEOUT_NORMAL_HERE",
"ILLUSTRATOR_MCP_TIMEOUT_HEAVY": "YOUR_ILLUSTRATOR_MCP_TIMEOUT_HEAVY_HERE"
}
}
}
}