MCP (Model Context Protocol) server that enables AI assistants to interact with Storybook design systems. Extract component HTML, analyze styles, and help with design system adoption and refactoring.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"design-system": {
"env": {
"STORYBOOK_URL": "https://my-storybook.example.com",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
},
"args": [
"/path/to/dist/index.js"
],
"command": "node"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server that extracts component information from Storybook design systems. Connects to Storybook instances and extracts HTML, styles, and component metadata.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mcp-design-system-extractor' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mcp-design-system-extractor against OSV.dev.
Click any tool to inspect its schema.
Component DiscoveryShow all available button components in the design system
Building New FeaturesFind relevant components from the design system and show HTML structure for creating a user profile card
Design System AnalysisExtract the color palette and typography tokens from the design system to ensure new components match existing styles
Component MigrationGet the HTML and styles for a component to recreate it in a different framework while keeping the same look
Multi-Tool WorkflowList all form-related components and get HTML for input and select components for building a registration form
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design / developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP server for using the GitLab API
MCP Security Weekly
Get CVE alerts and security updates for Mcp Design System Extractor and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that extracts component information from Storybook design systems. Connects to Storybook instances and extracts HTML, styles, and component metadata.

claude mcp add design-system npx mcp-design-system-extractor@latest \
--env STORYBOOK_URL=http://localhost:6006
With self-signed certificate:
claude mcp add design-system npx mcp-design-system-extractor@latest \
--env STORYBOOK_URL=https://my-storybook.example.com \
--env NODE_TLS_REJECT_UNAUTHORIZED=0
npm install -g mcp-design-system-extractor
Then configure in your MCP client (see Environment Variables).
git clone https://github.com/freema/mcp-design-system-extractor.git
cd mcp-design-system-extractor
npm install && npm run build
npm run setup # Interactive setup for Claude Desktop
| Variable | Description | Default |
|---|---|---|
STORYBOOK_URL | URL of your Storybook instance | http://localhost:6006 |
NODE_TLS_REJECT_UNAUTHORIZED | Set to 0 to skip SSL certificate verification (for self-signed certs) | 1 |
Example with self-signed certificate:
{
"mcpServers": {
"design-system": {
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"STORYBOOK_URL": "https://my-storybook.example.com",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}
See DEVELOPMENT.md for detailed setup instructions.
list_components
compact: true for minimal output (reduces response size)category parameterpage and pageSize (default: 20)get_component_html
job_id, use job_status to poll for resultsasync: false for synchronous mode (uses timeout parameter)variantsOnly: true to get list of available variants (sync, fast)includeStyles: true for CSS extraction (Storybook CSS filtered out)"component-name--story-name" or just "component-name" (auto-resolves to default variant)search_components
query: Search term (use "*" for all)purpose: Find by function ("form inputs", "navigation", "feedback", "buttons", etc.)searchIn: "name", "title", "category", or "all" (default)page and pageSize