~/wiki / dizayn-sistema-i-komponenty / mcp-server-dizayn-sistemy-podklyuchenie

MCP-сервер вашей дизайн-системы: подключаем AI-агент к компонентам напрямую

Основной чат

Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.

$ cd раздел/ $ join vibe dev
MCP-сервер вашей дизайн-системы: подключаем AI-агент к компонентам напрямую - обложка

«Создай карточку как в нашей системе» без MCP — агент смотрит на кодовую базу и угадывает. Находит что-то похожее на карточку, адаптирует. Результат близкий но не тот: другой border-radius, другая структура пропсов, другое имя которое теперь нужно искать и исправлять.

С MCP — агент не угадывает. Запрашивает систему напрямую: какие карточки есть, какие пропсы, как используются. Получает точный ответ. Создаёт правильный компонент.


В чём разница на практике

Задача «создай экран настроек аккаунта».

Без MCP: Агент смотрит на кодовую базу → создаёт Input с немного другим API чем существующий, Button с другим border-radius, Card с другим именем. Результат похож визуально но не системный. 30–45 минут правок.

С Figma MCP: Агент видит открытый файл Figma → находит Input/Default, Button/Primary, Card/Default → генерирует используя реальные токены из Variables → 5–10 минут правок на детали.

plaintext
Без MCP: background: #E94560          (угадал hex)
С MCP:   background: var(--color-brand-accent)   (реальный токен)

Это не про качество AI — про контекст который он получил.


Три подхода: выбор под ситуацию

Figma MCP — для design-first команд

Официальный Figma Dev Mode MCP Server. Агент получает прямой доступ к открытому файлу: структура слоёв, Auto Layout параметры, Variables с актуальными значениями, имена компонентов и их пропсы в Figma.

Когда: Figma — source of truth, команда design-first, Tokens Studio синхронизирует Variables с кодом.

Как подключить:

plaintext
1. Установи Claude Code Desktop
2. Settings → MCP Servers → Add server
3. Figma Dev Mode MCP Server (figma.com/developers/mcp)
4. Открой нужный файл в Figma — агент видит его автоматически

Что подготовить заранее: компоненты с осмысленными именами (не «Group 47»), Variables подключены к компонентам, Tokens Studio настроен.

Время настройки: 15–30 минут если система уже готова.

Storybook MCP — для code-first команд

Storybook генерирует component manifest — JSON со всеми метаданными: имена компонентов, TypeScript-типы пропсов, примеры из stories, документация из MDX-страниц. Агент читает manifest и знает реальную систему в продакшене.

Ключевое отличие от Figma MCP: Storybook показывает что есть в коде, не в дизайне. Если Figma и код разошлись — Storybook показывает правду. Для code-first команд это важнее чем дизайн-файл.

Дополнительно: autonomous correction loop. Агент создаёт компонент, запускает interaction tests и accessibility tests из Storybook, видит что не прошло, исправляет. Разработчик вмешивается когда тесты зелёные.

Когда: код — source of truth, React design system с CI, команда code-first.

bash
npm install --save-dev @storybook/addon-mcp
# В .storybook/main.ts:
addons: ['@storybook/addon-mcp']
# В Claude Code MCP Settings:
# name: storybook, url: http://localhost:6006/mcp

Кастомный MCP-сервер

Если система живёт в нескольких местах (Figma + Storybook + внутренний portal) — кастомный сервер агрегирует из всех источников и предоставляет единый интерфейс. SDK на TypeScript и Python, документация на modelcontextprotocol.io.


AGENTS.md для работы с MCP

markdown
## Дизайн-система — алгоритм работы

MCP подключён. Перед созданием UI-компонента:
1. Запроси список компонентов через MCP
2. Найди подходящий существующий
3. Прочитай его документацию и пропсы
4. Используй существующий — не создавай новый

Если подходящего нет:
- Скажи явно какого компонента не хватает
- Предложи ближайший существующий как основу
- НЕ создавай молча новый компонент

Запрещено без явного запроса:
- Новые варианты Button/* или Card/*
- Захардкоженные hex вместо токенов
- Изменения в src/lib/billing/** и src/lib/auth/**

Дашборд расхождений: Figma vs Storybook

Один из ценнейших use cases: агент сравнивает дизайн и код, находит расхождения.

markdown
Через Figma MCP: список всех компонентов в файле [название файла].
Через Storybook MCP: список всех компонентов в Storybook.

Создай таблицу:
| Компонент       | Figma | Storybook | Статус             |
|-----------------|-------|-----------|-------------------|
| Button/Primary  | ✅    | ✅        | Синхронизирован    |
| Card/Featured   | ✅    | ❌        | Нет в коде         |
| Toast/Error     | ❌    | ✅        | Нет в дизайне      |

Для "Нет в коде": приоритет реализации по частоте использования в Figma.
Для "Нет в дизайне": используется ли в продакшене? Нужно ли добавить в Figma?

Это ежедневный health-check без ручного аудита раз в квартал.


Что делать если MCP недоступен

Иногда MCP временно недоступен. AGENTS.md с детальным описанием системы — лучший fallback:

markdown
## Компоненты (v1.3.0, актуально на июнь 2026)

Button:
- variant: "primary" | "secondary" | "ghost" | "danger", default "primary"
- size: "sm" | "md" | "lg", default "md"
- disabled: boolean, loading: boolean
Использовать: <Button variant="primary" size="md">Текст</Button>

Input:
- label: string (обязательно), error: string (опционально)
- disabled: boolean, placeholder: string
Использовать: <Input label="Email" type="email" error={errorMsg} />

Это не замена MCP — но позволяет AI работать точнее при недоступности.


Тестовый промпт для проверки подключения

markdown
Проверь что MCP дизайн-системы работает корректно.

1. Через MCP получи список всех компонентов типа Button.
2. Для Button/Primary покажи все пропсы с TypeScript-типами.
3. Создай форму входа ТОЛЬКО из компонентов которые есть в MCP:
   - поле email, поле password
   - кнопка "Войти" (Primary)
   - ссылка "Забыл пароль"
4. Перечисли точные имена всех использованных компонентов.

Важно: если компонент не нашёл через MCP — скажи явно. Не придумывай.

Типичный путь команды: от «нам не нужен MCP» до «не понимаем как работали без»

Многие команды начинают со скептицизма. «У нас уже есть AGENTS.md с описанием компонентов — зачем MCP?»

AGENTS.md описывает систему текстом. MCP даёт агенту прямой доступ к актуальным данным. Разница становится очевидной когда система меняется.

Сценарий: разработчик добавил новый пропс к Button. Обновил код. Обновил Storybook. Забыл обновить AGENTS.md. AI продолжает генерировать Button без нового пропса — потому что читает устаревший AGENTS.md.

С MCP: агент запрашивает актуальное состояние Button из Storybook — видит новый пропс. Без обновления документации вручную.

MCP — это разница между «AI знает как система была описана» и «AI знает какой система является прямо сейчас».


Когда MCP не решает проблему

MCP показывает что система делает. Но не объясняет почему.

«Button/Danger использовать только с confirm-диалогом» — это правило которое нужно явно написать в AGENTS.md. MCP покажет что Button/Danger существует и какие у него пропсы. Не покажет когда его использовать.

MCP и AGENTS.md дополняют друг друга: MCP даёт актуальные данные о компонентах, AGENTS.md — правила их использования. Вместе — у AI есть и инструменты, и контекст как их применять.


Что MCP не заменяет

Важно понимать чего MCP не делает, чтобы не возлагать на него неправильные ожидания.

MCP не заменяет DESIGN.md и AGENTS.md. MCP даёт агенту данные о компонентах — пропсы, варианты, примеры. AGENTS.md даёт правила — когда использовать primary, когда secondary, что запрещено. Нужны оба.

MCP не исправляет плохо организованную систему. Если компоненты названы «Component_47» и «Group_203» — MCP будет возвращать эти имена. Агент не сможет с ними работать осмысленно. MCP работает настолько хорошо насколько хорошо организована система.

MCP не устраняет необходимость ревью. Агент с MCP генерирует более точный код — но не идеальный. Edge cases, бизнес-логика, UX-решения — всё это требует человеческого ревью.

MCP — это инструмент который снижает количество итераций и улучшает первый вариант. Это ценно само по себе, без ожидания что агент будет работать полностью автономно.


Путь команды от скептицизма до «не понимаем как работали без»

Многие команды начинают с «нам не нужен MCP, у нас есть AGENTS.md». Скептицизм понятен.

AGENTS.md описывает систему текстом в конкретный момент времени. MCP даёт агенту доступ к актуальным данным. Разница проявляется при изменениях.

Разработчик добавил новый пропс к Button. Обновил код и Storybook. Забыл обновить AGENTS.md. С AGENTS.md — AI продолжает генерировать Button без нового пропса. С MCP — агент видит актуальное состояние компонента, новый пропс доступен.

Первый раз когда команда сталкивается с этим расхождением — становится понятно ценность MCP. Не «нужно обновить документацию», а «система всегда показывает актуальное состояние».

Типичный путь: установить MCP → использовать неделю → заметить что AI больше не угадывает имена компонентов → начать чаще использовать → перестать мыслить без него.

Один практический совет для начала: не пытайся настроить всё идеально до запуска MCP. Подключи Figma MCP или Storybook MCP в текущем состоянии системы. AI сразу начнёт использовать правильные имена компонентов — даже если система неполная. Улучшения системы будут сразу отражаться в качестве генерации.

plaintext
☐ Подход выбран: Figma MCP / Storybook MCP / кастомный
☐ Компоненты именованы осмысленно (не Component_47)
☐ Пропсы задокументированы в Storybook stories / Figma
☐ Тестовый промпт прошёл: агент использует компоненты из системы
☐ AGENTS.md содержит инструкцию: запрашивать MCP перед созданием
☐ Fallback: список компонентов с API в AGENTS.md
☐ Через неделю: аудит нового кода — система используется?
$ cd ../ ← назад к Дизайн-система и компоненты