Integrations
Dembrandt is a CLI, an MCP server, the App, and a set of open formats. The surfaces and formats that drop into the tools you already use.
CLI
Extract rendered tokens from any URL. Flags for crawl, DTCG, compare, and reports.
MCP server
A tool surface any MCP client (Claude Code, Cursor, Windsurf) can call.
The App
A workspace to manage extractions, snapshots, baselines, and drift scores without a terminal.
Open formats
DTCG JSON, DESIGN.md, plain JSON, HTML, PDF. Readable by people, agents, and tools.
Skills
UX and design system heuristics for AI agents, packaged alongside token extraction.
This list is a starting point, not a limit. Because Dembrandt is an MCP server that speaks open formats, an AI agent can bridge it to almost any design or dev tool you already use. If your agent can read a file or call a tool, it can put Dembrandt's tokens to work there.
Where it plugs in
Examples, grouped by context. Not an exhaustive list.
CI/CD
Posts --compare's drift report to a Slack channel.
Blocks a push when tokens drift from the baseline.
dembrandt/dembrandt@v0: drift gate on every PR.
Extracts preview deployments and reports drift.
Design tools
Export to DTCG JSON and import straight into Tokens Studio.
Map extracted tokens to Figma Variables via the DTCG format.
Reconciles a Figma design system with a live extraction.
Authors a native token set in Penpot from a live extraction.
Output formats
AI editors
Add Dembrandt as an MCP tool and extract live tokens mid-conversation.
An MCP host for design work in chat, not just code. Pairs with Skills.
Project-scoped MCP via a .mcp.json at the repo root.
Any MCP-compatible editor exposes the same Dembrandt tools.
UX and design system heuristics for your agent.
Feeds extracted tokens or DESIGN.md into generated UI.
Drag in a brand guide or DESIGN.md for real values.
Uses measured tokens instead of approximated ones.
Protocol and runtime
A framework-agnostic tool surface for any MCP client.
Default headless extraction engine via Playwright.
Alternative engine with stealth mode for protected sites.
Tools it pairs with
Dembrandt measures what production renders. It does not author tokens, document a system for people, or test pixels. These tools do, and each one takes a handoff.
Style Dictionary
Transforms one token file into CSS, Swift, Kotlin, and SASS.
Dembrandt writes the DTCG file it reads, straight from production.
dembrandt example.com --dtcgDembrandt vs Style DictionaryTokens Studio
Authors tokens in Figma and syncs them into the codebase.
Dembrandt measures which of them survived to production.
dembrandt example.com --dtcgDembrandt vs Tokens StudioChromatic
Pixel regression on Storybook stories, story by story.
Dembrandt scores the tokens the deployed page actually renders.
dembrandt example.com --compare baseline.jsonDembrandt vs ChromaticLighthouse
Performance, SEO, and page-level accessibility.
Dembrandt grades contrast per token, with the exact ratio and hex.
dembrandt example.com --wcagDembrandt vs Lighthousezeroheight
Living documentation designers and engineers browse.
Dembrandt exports the measured system to document from.
dembrandt example.com --design-mdDembrandt vs zeroheightFrontify
Brand assets and guidelines for the whole organization.
Dembrandt reports what production renders against them.
dembrandt example.com --brand-guideDembrandt vs FrontifySet it up
AI editors (MCP)
Add Dembrandt to Claude Code:
For Cursor, Windsurf, or any project-scoped setup, add a .mcp.json at the repo root:
CI/CD drift gate
Extract the preview, compare against a baseline, write a report. Dembrandt exits 1 on drift, so the check goes red like a failing test:
On GitHub, use the official action. It installs the CLI and Chromium (cached), runs the extraction, and carries the verdict in its exit code. Accept an intended change as the new baseline with --approve:
The action also takes key (upload snapshots to the App for drift history) and args (extra CLI flags), and outputs report and score. On other CI systems (GitLab CI, Jenkins, Azure DevOps) run the CLI directly, it is a Node CLI with standard exit codes. Add --no-sandbox in containers.
Slack alerts
Run --compare with --json-only, then post to an incoming webhook only when the status is drift. One colored bar per change mirrors the App's own drift panel: green for added, orange for removed, gray for changed.
Store the webhook URL as a CI secret (SLACK_DRIFT_WEBHOOK_URL), never in the repo. Score and threshold are left out of the message on purpose: a reviewer acts on the link, not the number.
For the full walkthrough with screenshots of the Slack app setup, see the Slack alerts recipe.
Design tokens (DTCG)
Export tokens in W3C DTCG format, ready to convert for Tokens Studio or Figma Variables:
Ground generative UI
Export a DESIGN.md and feed it to v0 or Copilot so generated UI uses real brand values, not guesses:
What to explore next
Dembrandt MCP Server
Use Dembrandt as a tool inside Claude Code, Cursor, Windsurf, or any MCP-compatible editor. Your agent extracts live design tokens automatically when you ask.
Run Your First Extraction
Install Dembrandt and turn any public website into a complete set of design tokens in under 2 minutes. All you need is Node.js and a terminal.
Dembrandt App
Load extractions, pin a baseline, and track token drift over time. Compare snapshots and copy tokens directly into your workflow.