Generative UI MCP
MCP-сервер для генерации интерактивных визуализаций (диаграмм, чартов, мокапов, SVG-иллюстраций) силами AI-моделей. Вдохновлён Anthropic Artifacts и Generative UI от Vercel.
Зачем это нужно
Обычно, чтобы модель могла сгенерировать красивый виджет, ей в system prompt приходится закладывать тысячи токенов с дизайн-правилами. Generative UI MCP решает эту проблему: модель загружает гайдлайны по требованию (только когда действительно нужно что-то нарисовать).
Модули и их возможности
| Модуль |
Что покрывает |
interactive |
HTML-элементы управления: формы, слайдеры, калькуляторы |
chart |
Диаграммы на Chart.js, настройка canvas, интерактивные данные |
mockup |
Макеты UI: компоненты, шаблоны экранов |
art |
SVG-иллюстрации, художественные визуализации |
diagram |
Блок-схемы, временные шкалы, иерархии, циклы, матрицы |
Модель вызывает load_ui_guidelines с нужными модулями и получает полную спецификацию:
- Дизайн-система: философия, правила стриминга, CSS-переменные
- Цветовая палитра: 6 градиентов с правилами использования
- Шаблоны компонентов и готовые сниппеты кода
- Настройка SVG (маркеры стрелок, расчёт viewBox)
- 8 типов диаграмм с примерами и правилами вёрстки
Быстрый старт
Автоустановка через AI
Скопируйте этот текст и вставьте в ваш AI-ассистент (Claude Code, Cursor и т.д.):
Install the generative-ui-mcp MCP server. Run npx generative-ui-mcp as a stdio MCP server. The server name should be "generative-ui".
Claude Code
claude mcp add generative-ui -- npx generative-ui-mcp
Claude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"generative-ui": {
"command": "npx",
"args": ["generative-ui-mcp"]
}
}
}
Cursor / Windsurf
Добавьте в ~/.cursor/mcp.json или аналог:
{
"mcpServers": {
"generative-ui": {
"command": "npx",
"args": ["generative-ui-mcp"]
}
}
}
Инструменты
load_ui_guidelines
Загружает гайдлайны для выбранных модулей.
Параметры:
| Имя |
Тип |
Описание |
modules |
string[] |
Массив модулей: interactive, chart, mockup, art, diagram |
Пример вызова:
{
"name": "load_ui_guidelines",
"arguments": {
"modules": ["chart", "diagram"]
}
}
Общие секции (дизайн-система, палитра) дедуплицируются при загрузке нескольких модулей.
Ресурс
generative-ui://system-prompt
Компактный сниппет (~300 токенов) с жёсткими ограничениями для валидного вывода виджетов. Хост может внедрить его в свой system prompt, чтобы модель умела генерировать базовые виджеты даже без вызова инструмента.
Содержит: формат вывода, правила экранирования JSON, порядок стриминга, белый список CDN, настройки SVG, лимиты размеров и паттерны взаимодействия.
Как это работает (схема)
AI Host Ресурс: system-prompt (~300 токенов)
(Claude, ◄── инжектит в system prompt
Cursor,
и т.д.)
│ Инструмент: load_ui_guidelines
│──► вызов │
│◄── возвращает │ Гайдлайны модулей (по требованию)
│ детальные │
│ спецификации │
Экономия токенов: system prompt ~300 токенов вместо ~650+ для полных гайдлайнов. Детальные спецификации загружаются только когда модель действительно собирается генерировать виджет. В большинстве диалогов виджеты не нужны, так что это экономит токены на каждый запрос.
Разработка
npm install
npm run build
npm start
Лицензия
MIT
Комментарии
Комментариев пока нет. Будьте первым.