Illustrator MCP Server vs Scanbim MCP

A side-by-side look at the Illustrator MCP Server and Scanbim MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Illustrator MCP Server logoIllustrator MCP ServerArchitecture & Design · Local subprocess (stdio)Read, manipulate, and export Adobe Illustrator design data. 26 tools. macOS only.71GreatAuth: no auth requiredScanbim MCP logoScanbim MCPArchitecture & Design · Remote HTTP/SSEAI Hub for AEC — 46 tools for Revit, Navisworks, ACC, XR via Autodesk Platform Services49FairAuth: not declared

Verdict: choose Illustrator MCP Server for architecture & design work as a local process; choose Scanbim MCP for architecture & design over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Illustrator MCP Server logoChoose Illustrator MCP Server when

  • You need dedicated capabilities in the Architecture & Design domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: ILLUSTRATOR_MCP_TIMEOUT_NORMAL, ILLUSTRATOR_MCP_TIMEOUT_HEAVY.
  • You want tools like get_document_info, get_artboards, get_layers.
Explore Illustrator MCP Server

Scanbim MCP logoChoose Scanbim MCP when

  • You need dedicated capabilities in the Architecture & Design domain.
  • You prefer a remote HTTP/SSE transport.
  • You want tools like upload_model, detect_clashes, get_viewer_link.
Explore Scanbim MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecIllustrator MCP Server logoIllustrator MCP ServerScanbim MCP logoScanbim MCP
CategoryArchitecture & DesignArchitecture & Design
Quality signal71/100 · Great49/100 · Fair
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Remote HTTP/SSE
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsILLUSTRATOR_MCP_TIMEOUT_NORMALILLUSTRATOR_MCP_TIMEOUT_HEAVYNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1796
Directory activity 7 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools6619

Tools & capabilities

Illustrator MCP Server tools 66

  • get_document_infoGet document metadata
  • get_artboardsGet all artboard information
  • get_layersGet layer structure as a tree
  • get_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 information
  • get_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 information
  • get_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).
  • +54 more on the listing page

Scanbim MCP tools 19

  • upload_modelIngest a 3D model from a public URL into APS OSS and kick off a Model Derivative translation job, returning the URN plus a browser viewer link and QR code. Supports 50+ formats: Revit (.rvt/.rfa), Navisworks (.nwd/.nwc), IFC, FBX, OBJ, SolidWorks, point clouds (E57/LAS/RCP), CAD (DWG/STEP/IGES), etc. When to use: you have a publicly downloadable 3D file (S3 presigned URL, GitHub raw, etc.) and need it translated to SVF2 so it can be viewed, measured, or clash-checked via other tools. When NOT to use: the file is only on a local disk or behind auth (fetch will fail) — first push it to a public URL. Do not call to re-translate a model already uploaded; call get_model_metadata instead. APS scopes: data:read data:write data:create bucket:read bucket:create viewables:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 source file_url not reachable or bucket not found — check the ID; 409 bucket name conflict (bucket already owned by another app — pick a unique bucketKey); 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: NON-IDEMPOTENT. Creates the scanbim-models bucket if absent, uploads a new OSS object with a timestamped key (each call creates a distinct object even for the same input), submits a Model Derivative job (x-ads-force=true overwrites prior derivatives for the same URN), and inserts a row into D1 usage_log + models table.
  • detect_clashesRun a first-pass bounding-box clash check between two element categories in a translated model. Element boxes are read from the APS Model Derivative properties endpoint; ScanBIM never estimates or synthesises geometry. If the model returns no element boxes for a category, the tool returns status 'unavailable' with the element counts it did find and runs NO clash pass - treat that as no result, not as zero clashes. On a model that does carry boxes it returns each overlapping pair with a severity, a suggested fix and a rework-hour estimate. This is an axis-aligned box pass with no tolerance and no clearance rule, so it is a triage aid, not a substitute for a Navisworks or ACC Model Coordination run. When to use: you want a first-pass coordination report between two MEP or structural trades (e.g. Ducts vs Structural Framing) for a model that has finished translating. When NOT to use: the model has not finished translating yet (call get_model_metadata first to confirm manifest.status=='success'), or you need clash detection between more than two categories — call this tool multiple times. APS scopes: data:read viewables:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 URN not found or has no derivatives yet — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY on APS. Inserts a row into D1 usage_log for analytics. Idempotent — repeated calls return the same clash set for a given model.
  • get_viewer_linkReturn a shareable browser URL for the embedded APS viewer and a matching QR code for mobile/XR handoff. Does not require the model to be fully translated — the viewer page will poll the manifest. When to use: you need to hand a stakeholder a URL to see the 3D model in a browser, or print a QR for a jobsite. When NOT to use: you need the raw APS URN for programmatic API calls — use the model_id you already have instead. Do not use to check translation progress — call get_model_metadata. APS scopes: none (URL assembly only); the viewer page itself uses viewables:read data:read server-side via /token. Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh (only relevant when the viewer page loads); 403 scope or resource permission denied; 404 URN not found — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY and pure. Idempotent: same model_id always returns the same URL + QR.
  • list_modelsList every object currently stored in the scanbim-models OSS bucket, with URN, size in MB, and a viewer URL for each. Returns the raw OSS inventory, not the D1 models table, so freshly uploaded items appear immediately. When to use: you need to enumerate previously uploaded models to find a URN, show an inventory, or pick one for a follow-up tool call. When NOT to use: you already know the exact URN — call get_model_metadata directly. This tool is not a search; it returns up to the OSS default page (typically first 10 objects unless OSS paginates). APS scopes: bucket:read data:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 bucket not found — no models have been uploaded yet (upload one first); 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Idempotent.
  • get_model_metadataFetch the APS Model Derivative manifest and metadata for a URN, including translation progress, derivative outputs, and a viewer URL. Use this to confirm a model has finished translating (manifest.status == 'success') before calling detect_clashes or opening the viewer. When to use: right after upload_model to poll translation progress, or later to inspect which viewable derivatives (SVF2, thumbnail, OBJ) are available. When NOT to use: you just want a link to share — call get_viewer_link. You want the actual element properties list — this tool returns the metadata index, not the full property collection. APS scopes: data:read viewables:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 URN not found or job not yet submitted — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY on APS. Inserts a row into D1 usage_log. Idempotent.
  • get_supported_formatsReturn the full matrix of supported input formats organized by subscription tier (free / pro / enterprise). Use to tell a user whether their file type is accepted before calling upload_model, or to surface pricing tier info. When to use: you need to validate a file extension or show a customer the supported format list. When NOT to use: you already know the extension is common (.rvt/.ifc/.nwd/.obj) — just call upload_model, which returns an 'Unsupported format' error for anything outside the matrix. APS scopes: none (static data). Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh (not applicable: no APS call); 403 scope or resource permission denied (not applicable); 404 not applicable; 429 rate limited — backoff and retry (worker-level only); 5xx APS upstream outage — retry with jitter (not applicable). Side effects: READ-ONLY and pure. Idempotent.
  • acc_list_projectsList every Autodesk Construction Cloud (ACC) / BIM 360 project the configured APS 2-legged app has access to, flattened across all hubs, with hub_id, hub_name, project_id, project_name, and project type. When to use: you need a project_id to pass into acc_create_issue, acc_list_issues, acc_create_rfi, acc_list_rfis, acc_search_documents, or acc_project_summary. When NOT to use: you already have the b.xxxx project_id. This tool makes N+1 API calls (one per hub) so avoid calling it in tight loops. APS scopes: data:read account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied (app not provisioned for any hub in ACC Account Admin → Custom Integrations); 404 no hubs found — check APS app provisioning; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Inserts a row into D1 usage_log. Idempotent.
  • acc_create_issueCreate a real issue (punchlist/QC item) in ACC Build's Issues module via the APS Construction Issues v1 API. Returns the ACC-generated issue_id which can be linked back to a model URN or a detected clash. When to use: detect_clashes flagged a critical clash, or a field user reports a QC defect, and you want to track it in ACC for assignment and closeout. When NOT to use: you want to file a formal information request between trades — use acc_create_rfi instead. You want a note on a model element — that is a markup, not an issue. APS scopes: data:read data:write account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied (app not provisioned for the project's ACC account); 404 project_id not found — check the ID (strip any leading 'b.'); 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: NON-IDEMPOTENT. Creates a new ACC issue each call (repeated calls create duplicates). Inserts a row into D1 usage_log.
  • acc_create_rfiCreate a Request For Information in ACC Build's RFIs module via the APS Construction RFIs v1 API, in 'draft' status. Returns the ACC rfi_id. When to use: a trade or subcontractor needs formal information from the design team (unclear detail, conflicting spec, missing dimension) and you want a tracked paper trail. When NOT to use: the item is just a punchlist fix — use acc_create_issue. The question is internal to one trade — handle inside that trade's toolchain. APS scopes: data:read data:write account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied (app not provisioned for the project's ACC account, or RFIs module not enabled); 404 project_id not found — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: NON-IDEMPOTENT. Creates a new draft RFI each call. Inserts a row into D1 usage_log.
  • acc_list_issuesList up to 50 issues from an ACC project, optionally filtered by status and priority. Returns a normalized array of {id, title, status, priority, due_date}. When to use: you need a dashboard view of open issues, to find a specific issue by metadata, or to check the status of previously created issues. When NOT to use: you want the full audit trail of a single issue — the ACC Issues UI or the per-issue endpoint is better. This tool caps at 50 results and does no pagination. APS scopes: data:read account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 project_id not found — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Inserts a row into D1 usage_log. Idempotent.
  • acc_list_rfisList up to 50 RFIs from an ACC project, optionally filtered by status. Returns a normalized array of {id, subject, status}. When to use: you need a quick rollup of outstanding or answered RFIs on a project, or to find a specific RFI id. When NOT to use: you want the full response thread of a single RFI — use the ACC UI or per-RFI endpoint. This tool caps at 50 results and does no pagination. APS scopes: data:read account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied (RFIs module may not be enabled on the project); 404 project_id not found — check the ID; 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Inserts a row into D1 usage_log. Idempotent.
  • acc_search_documentsFull-text search the ACC Docs module on a project for drawings, specs, submittals, and other documents matching a query string. Calls the APS Data Management v1 search endpoint scoped to a project. When to use: an agent needs to locate a spec section, a sheet, or a submittal by keyword (e.g. 'fireproofing', 'A-101', 'RFI 23'). When NOT to use: you already have the document URN/lineage — fetch it directly. You want the file contents — this returns metadata; download separately via Data Management. APS scopes: data:read account:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied (Docs module access required); 404 project_id not found — check the ID (note: this endpoint re-prepends 'b.' so pass the UUID form); 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Inserts a row into D1 usage_log. Idempotent.
  • +7 more on the listing page

Ready-to-paste client configs

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.

Illustrator MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "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"
      }
    }
  }
}

Scanbim MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "scanbim-mcp": {
      "url": "https://scanbim-mcp.itmartin24.workers.dev/mcp"
    }
  }
}

Frequently asked questions

Illustrator MCP Server is categorized under Architecture & Design and uses a local stdio subprocess. Scanbim MCP belongs to Architecture & Design and uses a remote HTTP/SSE transport. Pick Illustrator MCP Server for architecture & design work and Scanbim MCP for architecture & design.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Illustrator MCP Server is listed as free. Auth: no auth required. Scanbim MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add illustrator-mcp-server and scanbim-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Illustrator MCP Server has a quality signal of 71/100 (Great) with 7 views, 0 installs and 179 GitHub stars. Scanbim MCP has 49/100 (Fair) with 1 views, 0 installs and 6 GitHub stars.