Adobe XD MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XD_MCP_ROOTS | No | The folder(s) with your .xd files that the server is allowed to read. To allow more than one folder, separate them with ';' on Windows or ':' on Mac/Linux. If you don't set it, only the folder the server starts in is allowed. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| xd_list_artboardsA | List the artboards in an Adobe XD file with their ids and names, plus document name. Set includeGeometry to also get each artboard's canvas position and size (slower on big files). |
| xd_get_artboardA | Get the layer tree of one artboard (positions, sizes, fills, strokes, text, fonts). Match by id or name (partial ok). |
| xd_extract_textB | Extract all text content from one artboard, or from every artboard if none is given. |
| xd_get_design_tokensA | Summarize colors and fonts used across the document (by frequency), plus shared styles if present. |
| xd_get_interactionsC | Return prototype interactions / flows (interactions.json) if the file has any. |
| xd_list_entriesB | List every file inside the XD archive (for debugging / finding raw data). |
| xd_read_rawA | Read a raw JSON entry from the archive (e.g. manifest, an artboard's graphicContent.agc), optionally drilling in with a dotted path like children.0.artboard.children.2. Output is truncated to maxChars. |
| xd_get_previewA | Return the embedded preview image of the XD file (first artboard render). |
| xd_extract_assetsC | Extract embedded images/resources from the XD file into an output directory. |
| xd_export_artboardA | Full-fidelity export of one artboard (or a sub-layer via nodeId) as clean JSON for rebuilding the design in another tool such as Figma: frames, rectangles (with corner radius), ellipses, lines, vector paths (SVG path data), boolean shapes, text (font, size, styled runs), fills (solid/gradient/image), strokes, shadows/effects, opacity, rotation, constraints, components, repeat grids and layout grids. Positions are relative to the parent. Images are referenced by imageRef; pass assetsDir to save them. For big screens, export a sub-layer with nodeId. |
| xd_list_componentsB | List the reusable components (symbols) defined in the file: id, name, size. |
| xd_export_componentA | Export one component master (see xd_list_components) in the same format as xd_export_artboard. |
| xd_get_shared_assetsC | Document-level libraries: saved color swatches, library colors and character (text) styles. |
| xd_get_design_systemB | Extract the design system actually used in the file: color palette (ranked, with fill/text/stroke usage), typography styles and size scale, corner radii, stroke widths and shadows. Output as json, css (custom properties) or tailwind (theme.extend). |
| xd_audit_designA | Design QA. Checks text contrast (WCAG, background estimated), tiny text, small tap targets on interactive layers, placeholder text, near-duplicate colors, too many fonts/sizes and default layer names. Returns findings with artboard and layer ids plus per-check totals. |
| xd_find_layersA | Search layers across the file by text content, layer name, type (text, rectangle, ellipse, path, group, ...) or color (#rrggbb, matched with a small tolerance). |
| xd_export_copyA | Export all text content (a copy deck) for translation or review, as json or csv. CSV cells are protected against spreadsheet formula injection. |
| xd_get_flowB | Prototype flow map: every interaction (tap/hover/time triggers, transitions, destinations) with source screen and layer, the home screen, and a Mermaid flowchart of screen-to-screen links. |
| xd_project_overviewA | Scan a folder (inside the allowed roots) for .xd files and summarize each: name, size, artboard and component counts, whether it has a prototype. Searches up to 3 levels deep, max 60 files. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| xd-to-figma | Recreate one artboard in Figma (needs the Figma MCP server too). |
| xd-to-code | Generate a responsive UI component from one artboard. |
| xd-design-review | Run a design QA pass over a whole file. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Several clusters overlap: xd_get_design_tokens, xd_get_design_system, and xd_get_shared_assets all report colors/fonts; xd_extract_text and xd_export_copy both dump text; xd_get_interactions and xd_get_flow both expose prototype links. Descriptions clarify intended differences, but an agent could still misselect within these clusters.
All tools use the xd_ prefix and snake_case, mostly following a verb_noun pattern such as xd_list_artboards, xd_export_artboard, xd_find_layers, and xd_audit_design. xd_project_overview is a minor noun-phrase outlier, but the overall convention remains clear and predictable.
At 19 tools the surface is borderline heavy for a read/export/QA server, and the overlapping text, design-system, prototype, and artboard extraction tools suggest some consolidation is possible. The breadth is defensible, but it sits above the ideal 3-15 range.
Coverage is broad: artboards, components, text, assets, design tokens/system, prototype flows, QA, search, raw archive access, and project scanning are all represented. Minor gaps remain, such as batch/multi-artboard export or per-artboard previews, but agents can generally work around them.