📖 English Documentation | 🎯 Demo & Live Examples
MCP UI SDK — это TypeScript-библиотека для АВТОМАТИЧЕСКОЙ генерации ИНТЕРАКТИВНЫХ ВЕБ-КОМПОНЕНТОВ в рамках Model Context Protocol (MCP).
🔧 Серверная часть (
|
🎨 Клиентская часть (
|
# Установка зависимостей
pnpm install
# Запуск демо-версии
./start-demo.sh
# Разработка
pnpm dev
# Тестирование
pnpm test
Проект включает в себя 6 готовых UI-компонентов для демонстрации возможностей:
🖼️ Галерея | 📊 Аналитика | 📝 Формы |
---|---|---|
Интерактивная галерея изображений | Дашборд с Chart.js | Динамические формы |
📅 Календарь | 💬 Чат | 📁 Файл-менеджер |
---|---|---|
События и планирование | Интерфейс сообщений | Управление файлами |
mcp-ui/
├── packages/
│ ├── client/ # React компоненты
│ ├── server/ # Серверные утилиты
│ └── shared/ # Общие типы и утилиты
├── examples/
│ └── server/ # Пример MCP сервера
├── docs/ # Документация
├── demo.html # Интерактивное демо
└── start-demo.sh # Скрипт автозапуска
import { createHtmlResource } from '@mcp-ui/server';
// Создание интерактивного компонента
const dashboard = createHtmlResource({
uri: 'ui://dashboard/analytics',
content: `
<div class="dashboard">
<h2>Аналитика продаж</h2>
<canvas id="chart"></canvas>
</div>
`,
css: './styles/dashboard.css',
js: './scripts/chart-setup.js'
});
import { HtmlResource } from '@mcp-ui/client';
function App() {
return (
<HtmlResource
resource={{
uri: 'ui://dashboard/analytics',
mimeType: 'text/html',
text: htmlContent
}}
onEvent={(event) => console.log('UI Event:', event)}
/>
);
}
ui://
— Самостоятельный HTML контент (iframe сsrcDoc
)ui-app://
— Внешние приложения (iframe сsrc
)
Набор пакетов @auto-ui/*
позволяет анализировать данные и строить базовую UI-схему автоматически.
@auto-ui/core
— типы и упрощенныйSimpleUISchemaGenerator
@auto-ui/analyzer
— rule-based анализатор данных@auto-ui/components
— React компоненты (AutoTable
,AutoForm
и другие)@auto-ui/server
—AutoUIServer
для серверной интеграции
Функциональность активно развивается, API может меняться.
# Запуск тестов
pnpm test
# Тесты в режиме наблюдения
pnpm test:watch
# Покрытие кода
pnpm coverage
- 📖 Полная документация (English)
- 🎯 Руководство по компонентам
- 🚀 Демо и примеры
- 🔧 API справочник
Мы приветствуем вклад в развитие проекта! Пожалуйста, ознакомьтесь с руководством по участию.
Этот проект распространяется под лицензией Apache 2.0.