# mcp-design-system-extractor

Подключает агента к инстансу Storybook и забирает разметку, CSS-переменные и метаданные компонентов. Пригодится при вёрстке интерфейса по готовой дизайн-системе.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 72
- Автор: freema
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/freema/mcp-design-system-extractor
- Обновлён: 2026-09-19
- HTML: https://affpapa.org/nevibecode/mcp/mcp-design-system-extractor

## Что делает

Сервер связывается со Storybook по адресу из переменной `STORYBOOK_URL`, где по умолчанию выставлен `http://localhost:6006`. Для рендеринга динамических элементов используется Puppeteer. Поэтому в системе обязателен рабочий браузер Chrome или Chromium.

Внутри заложено девять инструментов. Они умеют фильтровать компоненты по категориям или назначению, извлекать чистый HTML нужной истории без служебных стилей витрины и анализировать вложенные зависимости. По умолчанию выгрузка HTML запускается как фоновая задача в очереди, статус которой опрашивается через `job_status`.

Токены дизайна собираются напрямую из темы и связанных CSS-файлов. Без Chrome или Chromium в системе Puppeteer завершит выполнение с ошибкой.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `STORYBOOK_URL`, `NODE_TLS_REJECT_UNAUTHORIZED`, `DEBUG` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env STORYBOOK_URL=<STORYBOOK_URL> --env NODE_TLS_REJECT_UNAUTHORIZED=<NODE_TLS_REJECT_UNAUTHORIZED> --env DEBUG=<DEBUG> --transport stdio mcp-design-system-extractor -- npx -y mcp-design-system-extractor
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add mcp-design-system-extractor --env STORYBOOK_URL=<STORYBOOK_URL> --env NODE_TLS_REJECT_UNAUTHORIZED=<NODE_TLS_REJECT_UNAUTHORIZED> --env DEBUG=<DEBUG> -- npx -y mcp-design-system-extractor
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-design-system-extractor": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-design-system-extractor"
            ],
            "env": {
                "STORYBOOK_URL": "<STORYBOOK_URL>",
                "NODE_TLS_REJECT_UNAUTHORIZED": "<NODE_TLS_REJECT_UNAUTHORIZED>",
                "DEBUG": "<DEBUG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-design-system-extractor": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-design-system-extractor"
            ],
            "env": {
                "STORYBOOK_URL": "<STORYBOOK_URL>",
                "NODE_TLS_REJECT_UNAUTHORIZED": "<NODE_TLS_REJECT_UNAUTHORIZED>",
                "DEBUG": "<DEBUG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e STORYBOOK_URL=<STORYBOOK_URL> -e NODE_TLS_REJECT_UNAUTHORIZED=<NODE_TLS_REJECT_UNAUTHORIZED> -e DEBUG=<DEBUG> mcp-design-system-extractor npx -y mcp-design-system-extractor
```
Вместо <…> подставьте свои значения

## Когда брать
- Выгрузить чистый HTML конкретной истории компонента из Storybook
- Собрать дизайн-токены цветов, отступов и шрифтов из CSS
- Найти компоненты в каталоге по назначению или имени
- Проверить зависимости и вложенность компонентов перед сборкой экрана

## Примеры запросов агенту
- Покажи список всех компонентов из Storybook в компактном виде
- Найди в витрине компоненты для ввода данных и покажи их варианты
- Забери HTML для компонента `button--primary` вместе со стилями

## Похожие
- [Front-End Checklist](https://affpapa.org/nevibecode/mcp/front-end-checklist.md) — MCP-сервер · ★ 74559
- [tldraw](https://affpapa.org/nevibecode/mcp/tldraw.md) — MCP-сервер · ★ 51091
- [Figma-Context-MCP](https://affpapa.org/nevibecode/mcp/figma-context-mcp.md) — MCP-сервер · ★ 16062
- [mcp-server-chart](https://affpapa.org/nevibecode/mcp/mcp-server-chart.md) — MCP-сервер · ★ 4402
- [Dembrandt](https://affpapa.org/nevibecode/mcp/dembrandt.md) — MCP-сервер · ★ 3821
- [RevoGrid DataGrid MCP Pro](https://affpapa.org/nevibecode/mcp/revogrid-datagrid-mcp-pro.md) — MCP-сервер · ★ 3450

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
