ui-component-judgment-mcp
ui-component-judgment-mcp
MCP-сервер, предоставляющий один инструмент, recommend_component, который определяет, должна ли потребность в UI-компоненте быть удовлетворена существующим компонентом shadcn/ui или 21st.dev, или требует кастомной сборки, руководствуясь ссылкой на реальное приложение из Mobbin. Возвращает структурированный вердикт, а не список результатов поиска — создан для потребления агентом в процессе сборки, а не для просмотра человеком.
Это реализует слой оценки, подтверждённый в продуктовом брифe: покрытие полей/требований оценивается на основе реальных доказательств компонентов, порогово разделяется на use_existing / custom_build, при этом категория no_candidates_found остаётся отдельной от низкого покрытия, есть статический список пропуска для тривиальных примитивов и временная метка computed_at, поскольку покрытие — это снимок, а не постоянный факт.
Как это работает
Сервер не скрейпит shadcn/21st.dev/Mobbin самостоятельно. Каждый вызов инструмента делает один запрос к Anthropic Messages API (claude-sonnet-4-6) с включённым серверным инструментом web_search и системным промптом, который кодирует весь процесс: проверка списка пропуска, извлечение требований, поиск кандидатов, оценка покрытия на основе реальных доказательств, порог и — при custom_build — поиск ссылки на Mobbin. Модель возвращает структурированный JSON, который сервер передаёт вызывающему агенту без изменений.
Тривиальные примитивы (button, input, checkbox, label, badge, spinner, tooltip, avatar, icon) перехватываются локально до любого вызова API, поэтому не тратят запрос.
Related MCP server: shadcn MCP Server
Настройка
npm install
npm run buildТребуется переменная ANTHROPIC_API_KEY, установленная в окружении, в котором работает сервер.
Запуск
ANTHROPIC_API_KEY=sk-ant-... npm startЭто запускает MCP-сервер через stdio. Укажите ваш MCP-клиент (Claude Code, Cursor, Claude Desktop и т. д.) на него — точная конфигурация зависит от клиента, но в общем виде выглядит так:
{
"mcpServers": {
"ui-component-judgment": {
"command": "node",
"args": ["/path/to/ui-component-mcp/dist/index.js"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}Инструмент: recommend_component
Входные данные:
{
"component_need": "price breakdown with fees and taxes",
"domain": "Airbnb-style rental marketplace",
"framework": "React + Tailwind",
"existing_stack": "already using shadcn/ui"
}component_need должен быть конкретным, а не категорией — «разбивка цены с комиссиями и налогами», а не «ценообразование». Расплывчатые названия категорий — это то, что приводило к ложноположительным совпадениям при валидации (общий компонент тарифного плана SaaS оценивался как совпадение для оформления бронирования).
Выходные данные: JSON, соответствующий:
{
"verdict": "use_existing | custom_build",
"confidence": "high | medium | low",
"reason": "scored | no_candidates_found | skip_list",
"computed_at": "2026-08-23",
"requirements_checked": [ { "requirement": "...", "met": true, "evidence": "..." } ],
"coverage": "5/7 (71%)",
"recommendation": {
"source": "21st.dev | shadcn | null",
"install_command": "string | null",
"reference": { "source": "Mobbin", "url": "...", "flow_name": "..." }
}
}Стоимость
Каждый нетривиальный вызов выполняет короткий многоходовой цикл инструментов (поиск → оценка → ответ), что стоит примерно $0.06–$0.10 с Sonnet 5 по текущим ценам ($2/млн входных токенов, $10/млн выходных, $0.01 за вызов web_search) — примитивы из списка пропуска стоят $0, поскольку никогда не достигают API. Три вещи снижают эту стоимость без ущерба для качества:
Кэширование промптов в системном блоке (
cache_control: ephemeral) — инструкции идентичны при каждом вызове, поэтому повторные ходы и повторные вызовы читаются из кэша вместо повторной оплаты полной цены.Бюджет в 2 поиска для обнаружения кандидатов (ещё 1, если
custom_buildзапускает поиск в Mobbin), при этом shadcn и 21st.dev ищутся в одном ходе, а не последовательно, поэтому растущий диалог пересылается реже за вызов.Переменная окружения
UI_JUDGMENT_MODEL(по умолчаниюclaude-sonnet-5) — позволяет заменить модель на более дешёвую (например, Haiku 4.5) без изменения кода. Прежде чем доверять более дешёвой модели в продакшене, повторно прогоните 5 проверенных тестовых случаев из продуктового брифа (разбивка цены, политика отмены, панель доходов, галерея, обмен сообщениями) и сравните вердикты с вердиктами Sonnet — это не тестировалось, только обдумывалось.
Известные ограничения (перенесены из валидации)
Нет кэширования, намеренно. Каждый вызов заново ищет и оценивает с нуля. Вердикт
custom_buildможет устареть, поскольку библиотеки выпускают новые компоненты (проверено: чат-примитивы shadcn от июня 2026 превратили вероятный кастомный компонент обмена сообщениями в почти идеальное совпадение). Если вы добавляете кэширование на уровне вызывающего агента, ограничьте его только сессией — никогда не сохраняйте вердикт между сессиями или сборками.Список пропуска — это отправная точка, ещё не проверенная на реальном использовании. Логируйте каждый вызов и то, попал ли он в список пропуска; следите за агентами, которые всё равно вызывают инструмент для элементов из списка (список слишком узкий) или отправляют общий UI для того, что должно было быть пропущено (в списке отсутствует запись).
Невозможно протестировать end-to-end в полностью песочной среде. Этому серверу нужен исходящий сетевой доступ к
api.anthropic.comплюс всё, чего достигает инструмент web_search модели — он не будет работать там, где заблокирован общий доступ в интернет.Извлечение требований и оценка покрытия — это оценочные суждения, принимаемые моделью за один проход, а не детерминированные поиски. Проверяйте ранние выходные данные на реальных компонентах, прежде чем доверять конвейеру без присмотра, как и при ручной валидации.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides AI assistants with tools to grade, generate, and validate UI components against the components.build specification. Supports searching documentation, checking compliance, and generating framework-agnostic accessible components.1123Apache 2.0
- FlicenseAqualityDmaintenanceProvides AI assistants with direct access to shadcn/ui components and blocks, enabling real-time fetching of component source code, documentation, and implementation examples.4224
- AlicenseAqualityDmaintenanceProvides AI coding assistants with on-demand access to component specs, test scenarios, accessibility requirements, and build guides from the Web UI Component Specification.10MIT
- AlicenseAqualityBmaintenanceProvides coding agents live access to shadcn-style component registries, enabling them to search, compare, and fetch real component source code for UI composition.5612MIT
Related MCP Connectors
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Evidence-backed x402 web verification for AI agents, with auditable decisions for every condition.
Score any URL against a real design contract — 40 checks, A-F grade, token + motion validation.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/donaldrichard19-LVD/ui-component-judgment-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server