A Model Context Protocol (MCP) server that enables Claude to interact with Adobe XD files, extract design information, and generate React components from your designs.
- Document Analysis: Extract comprehensive information from XD files including artboards, components, and assets
- React Component Generation: Convert XD designs to React components with multiple styling options
- Color Extraction: Extract color palettes in various formats (CSS, JSON, Tailwind)
- Multiple Style Systems: Support for styled-components, Tailwind CSS, and CSS modules
- TypeScript Support: Generate type-safe React components
- Node.js (v16 or higher)
- npm or yarn
- Claude Desktop application
- Clone the repository:
git clone https://github.com/yourusername/adobe-xd-mcp.git
cd adobe-xd-mcp- Install dependencies:
npm install- Build the server:
npm run buildAdd the server to your Claude Desktop configuration:
Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
Edit: %APPDATA%\Claude\claude_desktop_config.json
Add the following configuration:
{
"mcpServers": {
"adobe-xd": {
"command": "node",
"args": ["/absolute/path/to/adobe-xd-mcp/dist/index.js"]
}
}
}Note: Replace /absolute/path/to/adobe-xd-mcp with the actual path to your installation directory.
After configuring and restarting Claude Desktop, you can use the following commands:
Ask Claude to analyze your XD file:
"Get information about the XD file at /path/to/your/design.xd"
This returns:
- Document name and dimensions
- List of artboards with sizes
- Components and their element counts
Convert XD designs to React components:
"Generate a React component from the LoginScreen artboard in /path/to/design.xd"
Options:
artboardName: Specific artboard to convert (optional)componentName: Custom component name (optional)outputDir: Output directory (optional, defaults to ./generated)styleSystem: Choose from "styled-components", "tailwind", or "css-modules"typescript: Generate TypeScript components (true/false)
Extract color palettes from your designs:
"Extract colors from /path/to/design.xd and save as CSS variables"
Options:
format: Output format - "css", "json", or "tailwind"outputFile: Save to file instead of displaying output
"Generate a React component from the Header artboard in design.xd using TypeScript and Tailwind CSS"
"Extract colors from design.xd in Tailwind format and save to colors.js"
"Show me all components in my design system at /designs/system.xd"
adobe-xd-mcp/
├── src/
│ ├── index.ts # MCP server setup
│ └── tools/
│ └── xd-tools.ts # XD processing logic
├── dist/ # Compiled output
├── package.json
└── tsconfig.json
npm run devnpm run build- Ensure the path in
claude_desktop_config.jsonis absolute - Restart Claude Desktop after configuration changes
- Check that the build completed successfully
- Ensure the XD file path is correct and accessible
- Verify the XD file is not corrupted
- Check file permissions
- Verify the artboard name exists in the XD file
- Ensure the output directory is writable
- Check for naming conflicts with existing files
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
For issues and feature requests, please use the GitHub issue tracker.