← Back to directory
D

Dembrandt

Community
Extract any website's design system into design tokens in seconds: logo, colors, typography, borders & more. One command.
GitHub source repository ↗
★ 3.2k Stars Category · Dev Tools Very popular Source revision 8d3c32972bd2
66FMRS · C
Reliability
7/20
Security and permissions
13/20
Maintenance
14/20
Documentation
18/20
Setup experience
14/20

Dembrandt is a powerful design token extraction tool that, through MCP integration, allows AI agents to easily obtain design information from websites. It supports multiple export formats and CI integration, but attention should be paid to compliance and resource consumption. Overall, it is suitable for teams needing automated design analysis.

Read the FMRS scoring method →

Dembrandt is an open-source CLI and MCP server that uses Playwright to render web pages, read computed styles and the DOM, and automatically extract design tokens such as colors, typography, spacing, borders, shadows, motion, components, and breakpoints. It supports exporting to the DTCG standard format or generating a DESIGN.md file. It also offers token drift detection, WCAG contrast analysis, brand guide PDF generation, and more, helping with design system documentation, audits, and continuous integration.

Tools

get_design_tokens
Extract the website's design tokens including colors, typography, spacing, borders, etc.
get_color_palette
Extract the website's color palette, including semantic colors, CSS variables, and gradients.
get_typography
Extract fonts, sizes, weights, and sources.
get_component_styles
Extract styles for components like buttons, badges, inputs, and more.
get_surfaces
Extract surface styles such as backgrounds and panels.
get_spacing
Extract spacing scales, e.g., margin and padding values.
get_brand_identity
Extract brand identity elements like logo and brand colors.
compute_drift
Compare current extraction with a baseline and compute drift score and changes.
get_findings
Return automated findings or anomalies from the extraction.
export_dtcg
Export the extraction result in W3C Design Tokens (DTCG) format.
generate_design_md
Generate a DESIGN.md file readable by AI agents, following Google's draft format.
render_report
Generate an HTML report for drift or extraction results.

Setup

  1. Ensure Node.js 18+ is installed.
  2. Install globally: npm install -g dembrandt, or use npx: npx dembrandt <url>.
  3. To use as an MCP server, add configuration to an MCP-compatible client (e.g., Claude Desktop, Cursor, Windsurf):
{"mcpServers": {"dembrandt": {"command": "npx", "args": ["-y", "--package", "dembrandt", "dembrandt-mcp"]}}}
  1. Install browser on first use: dembrandt install-browser.
claude_desktop_config.json
{
  "mcpServers": {
    "dembrandt": {
      "command": "npx",
      "args": [
        "-y",
        "--package",
        "dembrandt",
        "dembrandt-mcp"
      ]
    }
  }
}

Fit and risk

Best for

  • Frontend developers needing to rapidly analyze a website's design system and extract reusable tokens.
  • Design system teams needing to document existing sites or track design changes across versions.
  • AI agents using MCP that need to automatically fetch website design information for development or auditing.

Not for

  • Users needing full interactive analysis (e.g., hover effects) since only some interaction states are extracted from CSS.
  • Canvas/WebGL-rendered websites because they have no DOM to read.
  • Unauthorized automated access that violates a website's terms of service; ensure permission.

Required permissions

  • Network access: Requires internet to access target websites.
  • Local file system: Write permissions for saving output files (JSON, PDF, DESIGN.md).
  • Browser execution: Uses Playwright to drive a browser; may need system privileges.

Risks and side effects

  • Target websites may prohibit automated access, risking IP bans or legal issues.
  • Extracted tokens may contain copyrighted design elements; do not reproduce third-party brand assets without permission.
  • Browser automation can be resource-intensive; in CI or restricted environments, configuration like --no-sandbox may be needed.

Troubleshooting

  1. If a browser is not found, run `dembrandt install-browser` to install the matching version.
  2. For Cloudflare or other anti-bot measures, try `--browser=firefox` or `--stealth` (use only when authorized).
  3. For JavaScript-heavy sites that time out, use `--slow` to increase wait times.
  4. In Docker/CI, add `--no-sandbox` to disable the Chromium sandbox.
  5. Check Node.js version meets the requirement (>=18).

Use cases

Document design systems: Quickly extract design tokens from existing websites to serve as documentation.
Brand audits: Analyze visual consistency of competitors or your own properties.
Design-to-code: Export tokens in DTCG format for use with Style Dictionary or design tools.
Continuous integration: Detect token drift in CI to prevent design regression.
Accessibility audits: Run WCAG contrast checks to ensure compliance.

Supported clients

Claude DesktopFull support
CursorFull support
WindsurfFull support