Token导航 LogoToken导航

MCP Server · 开发工具

MCP Design System Extractor

一个从Storybook设计系统中提取组件信息的MCP服务器,包括HTML、样式和组件元数据。

未说明官方级别未说明来源级核验工具 8
设计系统开发工具TypeScriptClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
freema
提供方
freema

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

64

仓库热度

收录来源

2 个

MCP World

选型结论

MCP Design System Extractor 属于开发工具类 MCP Server,公开资料标注 8 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

MCP设计系统提取器

从故事书设计系统中提取组件信息的模型上下文协议(MCP)服务器。连接到Storybook实例并提取HTML、样式和组件元数据。

安装

使用Claude CLI(推荐)

claude mcp add design-system npx mcp-design-system-extractor@latest \
  --env STORYBOOK_URL=http://localhost:6006

使用自签名证书:

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

npm install -g mcp-design-system-extractor

然后在MCP客户端中进行配置(请参阅 环境变量).

来源

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

关键依赖关系

  • 操纵者:使用无头Chrome进行动态JavaScript组件渲染
  • 铬/铬:Puppeteer需要(在Docker中自动处理)
  • 适用于已构建的故事书发行版

特性

  • 列出组件:使用紧凑模式从故事书中获取所有可用组件
  • 提取HTML:获取任何组件的渲染HTML(异步或同步模式)
  • 搜索组件:按名称、标题、类别或用途查找组件
  • 组件依赖关系:分析其他组件中使用了哪些组件
  • 主题信息:提取设计系统主题(颜色、间距、排版)
  • 外部CSS分析:获取并分析CSS文件以提取设计标记
  • 异步作业队列:长时间运行的操作在后台运行,并带有作业跟踪功能

环境变量

变量描述默认值
STORYBOOK_URLStorybook实例的URLhttp://localhost:6006
NODE_TLS_REJECT_UNAUTHORIZED设置为 0 跳过SSL证书验证(对于自签名证书)1

自签名证书示例:

{
  "mcpServers": {
    "design-system": {
      "command": "node",
      "args": ["/path/to/dist/index.js"],
      "env": {
        "STORYBOOK_URL": "https://my-storybook.example.com",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

用法

看 Developpent.md 有关详细的设置说明。

可用工具(共9个)

核心工具

  1. 列表_组件

- 列出Storybook实例中的所有可用组件 - 使用 compact: true 实现最小输出(减小响应大小) - 筛选依据 category 参数 - 支持分页 page 和 pageSize (默认值:20)

  1. get_component_html

- 从特定组件故事中提取HTML - 默认异步:退货 job_id,使用 job_status 投票选举结果 - 集 async: false 用于同步模式(使用 timeout 参数) - 使用 variantsOnly: true 获取可用变体列表(同步、快速) - 可选的 includeStyles: true 用于CSS提取(Storybook CSS已过滤掉) - 故事ID格式: "component-name--story-name" 或者只是 "component-name" (自动解析为默认变量)

  1. 搜索组件

- 按名称、标题、类别或目的搜索组件 - query:搜索词(使用 "*" 为所有人) - purpose:按功能查找(“表单输入”、“导航”、“反馈”、“按钮”等) - searchIn:“名称”、“标题”、“类别”或“全部”(默认) - 支持分页 page 和 pageSize

组件分析工具

  1. get_组件依赖关系

- 分析渲染的HTML,找出内部使用的其他组件 - 检测React组件、web组件和CSS类模式 - 需要故事ID格式: "component-name--story-name"

设计系统工具

  1. 获取主题信息

- 提取设计系统主题(颜色、间距、排版、断点) - 获取CSS自定义属性/变量 - 使用 includeAll: true 对于所有CSS变量

  1. get_external_css

- 默认:仅返回设计令牌+文件统计信息(避免令牌限制) - 提取并分类标记:颜色、间距、排版、阴影 - 使用 includeFullCSS: true 仅当您需要完整的CSS内容时 - 安全保护:只接受与Storybook来自同一域的URL

作业管理工具

  1. job_status

- 检查异步作业的状态 - 退货: status, result (当完成时), error (失败时) - 打电话后投票 get_component_html 在异步模式下

  1. job_取消

- 取消排队或正在运行的作业 - 返回取消是否成功

  1. job_list

- 列出所有作业及其状态 - 筛选依据 status:“全部”(默认)、“活动”(已排队/正在运行)、“已完成” - 返回作业列表+队列统计信息

示例用法

// List all components (compact mode recommended)
await list_components({ compact: true });

// Search for components
await search_components({ query: "button", searchIn: "name" });

// Find components by purpose
await search_components({ purpose: "form inputs" });

// Get variants for a component
await get_component_html({
  componentId: "button",
  variantsOnly: true
});
// Returns: { variants: ["primary", "secondary", "disabled"] }

// Get HTML (async mode - default)
await get_component_html({ componentId: "button--primary" });
// Returns: { job_id: "job_xxx", status: "queued" }

// Poll for result
await job_status({ job_id: "job_xxx" });
// Returns: { status: "completed", result: { html: "...", classes: [...] } }

// Get HTML (sync mode)
await get_component_html({
  componentId: "button--primary",
  async: false,
  timeout: 30000
});
// Returns: { html: "...", classes: [...] }

// Get HTML with styles
await get_component_html({
  componentId: "button--primary",
  async: false,
  includeStyles: true
});

// Check all running jobs
await job_list({ status: "active" });

// Extract theme info
await get_theme_info({ includeAll: false });

// Get design tokens from CSS
await get_external_css({
  cssUrl: "https://my-storybook.com/assets/main.css"
});

AI助手使用技巧

  1. 从发现开始:使用 list_components 随着 compact: true
  2. 先获取变体:使用 get_component_html 随着 variantsOnly: true
  3. 对HTML使用异步:默认异步模式可防止大型组件超时
  4. 投票作业_状态:在读取结果之前检查作业完成情况
  5. 按目的搜索:使用 search_components 随着 purpose 参数

示例提示

连接后,您可以使用Claude的自然语言提示:

组件发现:

Show me all available button components in the design system

构建新功能:

I need to create a user profile card. Find relevant components
from the design system and show me their HTML structure.

设计系统分析:

Extract the color palette and typography tokens from the design system.
I want to ensure my new component matches the existing styles.

组件迁移:

Get the HTML and styles for the "alert" component. I need to
recreate it in a different framework while keeping the same look.

多工具工作流程:

First list all form-related components, then get the HTML for
the input and select components. I'm building a registration form.

运作原理

通过以下方式连接到故事书 /index.json 和 /iframe.html 端点。使用Puppeteer和无头Chrome进行动态JavaScript渲染。长时间运行的操作使用内存中的作业队列,最多2个并发作业,完成作业的TTL为1小时。

故障排除

  • 确保故事书正在运行 STORYBOOK_URL 是正确的
  • 使用 list_components 首先查看可用组件
  • 对于大型组件,使用异步模式(默认)和轮询 job_status
  • 检查 /index.json 端点直接在浏览器中
  • SSL证书错误:设置 NODE_TLS_REJECT_UNAUTHORIZED=0 用于自签名证书
  • 看 Developpent.md 详细故障排除

需求

  • Node.js 18+
  • 铬/铬(用于Puppeter)
  • 正在运行故事书实例

发展

看 Developpent.md 详细的开发说明。

作者

由...创建 托马斯 格拉斯尔

许可证

麻省理工学院

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

设计系统TypeScript本地部署组件提取前端开发自动化工具元数据分析

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Design System Extractor

MCP World · 本页

8未说明未标注2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Design System Extractor 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Design System Extractor 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Design System Extractor 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Design System Extractor 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Design System Extractor 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP