What is the extract-design-system MCP server?
Extract Design System reverse-engineers design tokens from a public website. Its MCP server gives an AI coding agent three tools to run an extraction, re-emit token files from cache and read the current tokens, writing W3C-compatible JSON and a CSS custom properties file into your project.
The package is skills-first, with an installable agent skill and a bundled CLI that runs the extraction. It also ships an MCP server, extract-design-system-mcp, that exposes the same workflow as structured tool calls.
Point it at a public website and it analyzes colors, typography, spacing, border radius and shadows, then normalizes the result into starter token files for your local project.
What changes in your agent's output
- The agent starts from measured values taken from a real page, not from a guess at a brand palette.
- Output lands in predictable files: a W3C-compatible tokens JSON and a CSS file of custom properties.
- Raw and normalized data are cached, so tokens can be re-emitted without fetching the site again.
- The README says the workflow summarizes findings first and asks before changing existing app code or styles.
How the setup works
- Add the server entry for your client. It runs
npx -y extract-design-system-mcp. - If Chromium is missing, run
npx playwright install chromium. - Ask the agent to extract the design system from a public URL and generate token files.
Who the extract-design-system MCP server is for
Best for
- Starting a project that should match an existing public site's spacing, radius and type scale.
- Auditing a competitor or reference site's visual primitives, next to Design Extract and Dembrandt.
- Pairing tokens with a skill such as a site cloning skill when the goal is a closer rebuild.
Not for
- Pixel-exact reproduction. The README says extraction is for initialization, not a perfect copy.
- Private or login-gated sites. It handles public websites only, and dynamic or script-heavy pages may give incomplete output.
- Full component libraries. The output is starter tokens, with no framework config patching.
Use it with UiChemy
Tokens give an agent a visual baseline in code. For a WordPress site, UiChemy builds the pages: Figma to WordPress turns a design into editable blocks, and AI to WordPress imports an existing AI build. Click Get Started on uichemy.com.
Connect Extract Design System MCP Server: Design Tokens From Any Public Site to your AI client
npx -y extract-design-system-mcpAdd the entry
In Cursor, create
.cursor/mcp.jsonin your project root with the entry above, then restart Cursor.Claude Desktop
Add the same entry to
claude_desktop_config.jsonand also setcwdto your project path. The README says Claude Desktop does not infer a working directory, andcwdcontrols where the token files are written.Install Chromium if needed
Extraction uses a browser. If it fails because Chromium is missing, run
npx playwright install chromium. Node.js 20 or newer is required.Run an extraction
Ask the agent to extract the design system from a public URL. Check
design-system/tokens.jsonanddesign-system/tokens.cssafterward.
Client configuration
{
"mcpServers": {
"extract-design-system": {
"command": "npx",
"args": ["-y", "extract-design-system-mcp"]
}
}
}Endpoints and ports
npx -y extract-design-system-mcpstdio serverdesign-system/tokens.jsonW3C-compatible tokensdesign-system/tokens.cssCSS custom properties.extract-design-system/normalized.jsonUsed by init_design_systemWhat you can do with it
- Five token categoriesColors, typography, spacing, border radius and shadows are extracted from the rendered page.
- Two output filesA W3C-compatible tokens file and a CSS custom properties file are ready to drop into a project.
- Cached normalizationRaw and normalized JSON are kept locally, so tokens can be regenerated without a new fetch.
- Skill and CLI tooThe same workflow is available as an agent skill and as a standalone CLI, besides the MCP server.
- Cautious by designTarget sites are treated as untrusted input, and generated tokens should be reviewed before use.
- Public pages onlyThe README limits the workflow to public websites, one page at a time.
Tools it exposes
extract_design_system
Runs a full extraction from a URL and writes the token JSON and CSS files.
init_design_system
Re-emits token files from the cached normalized output without fetching the site again.
get_tokens
Reads and returns the current tokens JSON without re-extracting.
Frequently asked questions
What does the extract-design-system MCP server do?
It runs the package's extraction workflow as three MCP tools. Given a public URL, it analyzes colors, typography, spacing, border radius and shadows, then writes a tokens JSON file and a CSS custom properties file for your project.
How do I install it?
Add an entry that runs npx -y extract-design-system-mcp to your client's MCP config. For Claude Desktop also set cwd to your project path. Node.js 20 or newer is required, and Chromium may need npx playwright install chromium.
Where do the token files go?
Into design-system/tokens.json and design-system/tokens.css in your project, with raw and normalized data cached under .extract-design-system/ in the same folder. In Claude Desktop the cwd setting decides which project folder all of those paths resolve against.
Can it copy a site exactly?
No. The README says extraction is useful for initialization, not pixel-perfect reproduction. Dynamic, protected or script-heavy sites may produce incomplete output, so review the tokens before treating them as design decisions.
Is it safe to run on any URL?
The README treats target websites as untrusted input that may influence extracted output, and limits use to public sites you are comfortable fetching. It also asks the agent to confirm before changing existing code, styles or config.
How does it compare with other extractors?
It focuses on starter tokens for one page. Design Extract and Dembrandt are separate tools with their own scope, so compare their outputs against your target site before choosing one.
What license does it use?
The repository is MIT licensed, and GitHub detects MIT. The README ends with an MIT license note, so you can use the tool and its output in commercial projects. It also points to GitHub Sponsors for anyone who wants to support maintenance.



