should-i-render
should-i-render
should-i-render — это MCP-сервер только для чтения, предназначенный для выбора измеренных React-компонентов и готовых шаблонов страниц vibecodng из курируемого снимка. Он отвечает на вопросы о соответствии краткими вердиктами и практическими фактами о внедрении, вместо того чтобы возвращать дампы исходного кода.
Встроенный снимок в настоящее время содержит опубликованный индекс should-i-render. Он работает через stdio, не требует API-ключа, базы данных или доступа к сети, и ограничивает каждый текстовый ответ примерно 500 токенами.
Бесплатная бета-версия, размещённая на vibecodng.com, читает живой индекс и включает 100 вызовов инструментов на один API-ключ в UTC-сутки. Создайте ключ в браузере, затем подключите MCP-клиент с поддержкой HTTP к https://vibecodng.com/mcp. Используйте этот npm-пакет, когда вам нужен приватный, офлайн-снимок с версионированием и без квот.
Локальное использование
{
"mcpServers": {
"should-i-render": {
"command": "node",
"args": ["/path/to/should-i-render/server.js"]
}
}
}Требуется Node 20 или новее. Запустите npm test, чтобы проверить встроенный снимок, метаданные инструментов, структурированные ответы и ограничение ответов.
С npm проверка не требуется:
{
"mcpServers": {
"should-i-render": {
"command": "npx",
"args": ["-y", "should-i-render@0.2.5"]
}
}
}Размещённый сервис может позже добавить платные тарифы для более свежих данных, более высоких квот и командных рабочих процессов. Опубликованный офлайн-пакет остаётся доступным на условиях лицензий ниже.
Related MCP server: Knossos MCP
Инструменты
find_component({task, pattern?, style?, palette?})ранжирует до трёх проверенных, подходящих вариантов рендеринга на основе описания задачи, паттерна, стиля и измеренных результатов. Предупреждения о неудачах не включаются в рекомендации. Передайте slug палитры, чтобы добавить её CSS-переменные.palette_pick({mood?})возвращает от одной до трёх курируемых доступных палитр с hex-ролями и копируемым блоком CSS-переменных.check_component({name})возвращает полный вердикт, условия пропуска и измеренную полосу.alternatives({name})ранжирует кандидатов с тем же паттерном.install_plan({name})возвращает зависимости, пробелы в голом окружении, требования к провайдерам, заметки по настройке, лицензию, авторство, измеренную страницу галереи, исходный источник и точную команду shadcn, если источник её поддерживает.skip_list({pattern, style?})выводит явные предупреждения о неудачах, начиная с наихудших измеренных нарушителей.find_template({task, category?, style?})ранжирует до трёх полных шаблонов страниц и исключает неудачные аудиты.check_template({name})возвращает стек одного шаблона, лицензию, статус аудита, превью, источник, загрузку и варианты палитр.template_plan({name, palette?})возвращает точный план клонирования/настройки и может выбрать встроенное превью палитры.
Каждый инструмент включает заголовок, аннотации только для чтения, схему вывода и структурированное содержимое вместе с ограниченным текстовым ответом.
Палитры
Пакет включает 24 оригинальные четырёхцветные палитры. Каждая палитра определяет accent, surface, text и muted; каждая пара текст-на-поверхности проверена на соответствие WCAG AA с контрастом 4.5:1 или выше. Используйте palette_pick с slug палитры или настроениями, такими как dark, light, pastel, neon, retro, earth, warm, cold или mono.
:root {
--bw-accent: #E85D4A;
--bw-surface: #FFF7F1;
--bw-text: #34231F;
--bw-muted: #775F57;
}Автоматическое применение тем работает для компонентов первой стороны; сторонние записи требуют ручного сопоставления.
Что означает измеренная полоса
RENDERS — это результат монтирования в подготовленном окружении. A11Y — это сумма зафиксированных нарушений axe. KB — это маржинальный размер gzip-пакета относительно базового уровня окружения. BARE — это второй проход сборки и монтирования без подготовленных помощников в стиле shadcn. PROVIDER означает, что была измерена ошибка монтирования из-за отсутствующего провайдера.
Ось стиля
Паттерн и стиль отвечают на разные вопросы. Паттерн — это то, что делает компонент, например, кнопка, календарь, карусель или текстовое раскрытие. Стиль — это визуальный мир, к которому он принадлежит, например, minimal-flat, brutalism, spatial, bento или dark-futuristic. Фильтрация по обоим параметрам полезна, когда взаимодействие фиксировано, а язык продукта — нет.
Стили — это редакционные классификации, а не возможности пакета. Две записи с одинаковым паттерном и стилем могут сильно различаться по зависимостям, результатам доступности, стоимости пакета, совместимости с голым окружением и требованиям к провайдерам.
Данные
data/components.json — это экспорт опубликованных записей компонентов на определённый момент времени. Он содержит описание, измеренные результаты, источник и авторство, метаданные лицензии, паттерн и стиль, а также относительные пути к превью. Он не содержит байтов изображений или видео превью. data/palettes.json — это встроенный каталог палитр, а data/templates.json описывает публичную библиотеку полных шаблонов.
Установите SHOULD_I_RENDER_DATA=/path/to/components.json, чтобы протестировать другой снимок с той же структурой.
Ограничения
Окружение в настоящее время измеряет только React-компоненты.
Охват является курируемым, а не исчерпывающим обходом реестра.
Снимок зафиксирован на определённый момент времени; API и зависимости вышестоящих компонентов могут измениться после экспорта.
Результаты окружения — это контролируемые измерения, а не производственное QA. Они не заменяют тестирование в браузере, дизайн-системе, доступности, безопасности или пользовательское тестирование в вашем приложении.
Демо написаны с использованием исходного API каждого компонента и используются для создания скриншотов. Демо может охватывать предполагаемое состояние, не охватывая каждый проп, взаимодействие, серверное поведение или пути загрузки данных.
Чистое количество нарушений доступности означает, что в записанном демо не было находок axe в данном окружении. Это не сертификация доступности.
Вердикты и метки стилей — это редакционные суждения, основанные на записанных измерениях и исходных API.
Лицензия
Код сервера лицензирован под MIT. Скомпилированные метаданные индекса — CC BY 4.0 с указанием авторства mrkeyoor.com; отдельные исходные проекты компонентов сохраняют свои собственные лицензии и авторство.
Участие
Нашли неверный вердикт или устаревшую запись компонента? Откройте issue.
Изменения кода приветствуются для MCP-сервера и логики ранжирования. Держите ответы в рамках ограничения и запустите
npm testперед открытием pull request.data/components.jsonгенерируется из измеренного индекса vibecodng, поэтому исправления данных следует начинать с issue, а не с прямого редактирования снимка.
Available Tools
9 toolsalternativesRank same-pattern alternativesARead-onlyIdempotent
Compare same-pattern candidates using their verdicts and measured harness results.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact component name or slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| source | Yes | |
| candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false, covering the safety profile. The description adds context about the data used ('verdicts and measured harness results') but doesn't disclose details like response format or limitations. This aligns with annotations and adds some value, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and jargon-free. Every word adds meaning (verb, resource, comparison criteria), with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only tool with a single parameter, annotations, and an output schema, the description is adequately complete. It could be slightly more explicit about what 'compare' returns (e.g., ranking or differences), but the existing output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description of the 'name' parameter ('Exact component name or slug'). The tool description adds context about comparing 'same-pattern' candidates but doesn't add param-specific syntax or format details, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Compare' with the resource 'same-pattern candidates' and clarifies the method ('using their verdicts and measured harness results'). It clearly distinguishes from sibling tools like find_component or check_component, though it doesn't explicitly state 'rank' as the title does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when same-pattern candidates need comparison, which is a clear context. However, it provides no explicit exclusions or alternatives among sibling tools, so it gets a mid-range score for implied rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_componentCheck one componentARead-onlyIdempotent
Return the full verdict, skip conditions, and measured render, accessibility, bundle, bare, and provider facts.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact component name or slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| component | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds value by specifying the exact fields returned (verdict, skip conditions, render/accessibility/bundle/bare/provider facts), which informs the agent about output structure beyond the annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the primary output ('full verdict') and lists the supported fact types. It is reasonably concise, though the list of facts is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema exists, rich annotations), the description adequately explains what the tool returns. However, in the context of eight sibling tools, some usage guidance would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single parameter 'name' is fully described in the schema). The description does not add any parameter-level details, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states what the tool returns (full verdict, skip conditions, and various facts), but it does not explicitly differentiate from sibling tools like 'check_template' or 'find_component'. The verb 'check' is generic, but the listed outputs provide specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or context for selection among the eight sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_templateCheck one complete templateARead-onlyIdempotent
Return a template summary, stack, license, accessibility status, preview, source, download, and available palette variants.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact template name or slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| template | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral context by enumerating exactly what data the tool returns (preview, source, download, palette variants). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence that lists all returned items concisely. It is front-loaded with the 'Return' verb and avoids fluff. However, the long list could be more readable with bullet points or structured phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and annotations cover safety, the description sufficiently describes the tool's purpose for a single-parameter tool. It lists all expected return elements, making it complete for the agent to understand what to expect. No mention of related siblings, but that is covered by usage guidelines dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter 'name' with a clear description). The tool description does not add any additional meaning about the parameter beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a template summary with multiple specific data points (stack, license, accessibility status, etc.). It distinguishes from siblings like 'find_template' (which likely searches) and 'check_component' (component-specific), but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus siblings (e.g., find_template, check_component, alternatives). No prerequisites or exclusion criteria are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_componentFind a measured componentBRead-onlyIdempotent
Rank up to three verified, rendering React components for a UI task using prose, pattern, style, and measured harness results. Failure warnings are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The UI task or behavior needed. | |
| style | No | Optional exact visual style filter. | |
| palette | No | Optional exact bundled palette slug to append as CSS variables. | |
| pattern | No | Optional exact pattern filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| matches | Yes | |
| palette | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive. The description adds meaningful behavior: it ranks up to three items, includes only verified/rendering components, and excludes failure warnings. This goes beyond annotations. However, it does not explain what 'verified' means or how 'measured harness results' affect ranking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and relatively concise. No superfluous words. However, the first sentence is dense and could be restructured for clarity. It front-loads the core action but the phrasing 'using prose, pattern, style, and measured harness results' is somewhat run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters (one required), three optional filters, and an output schema exists, the description provides basic operational context. It explains the return count and filtering of failures. However, it omits important context like what 'measured harness results' are, why 'failure warnings' are excluded, and how the ranking works. The description is adequate but leaves gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description references 'prose, pattern, style, and measured harness results' but 'prose' does not directly map to any parameter (likely 'task'). It adds some context but also introduces ambiguity. The palette parameter is not mentioned, so the description doesn't fully compensate or clarify parameter roles beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks up to three verified React components for a UI task using specific criteria. The verb 'rank' and resource 'components' are explicit. While it doesn't explicitly distinguish from siblings like 'find_template', the mention of 'measured harness results' hints at the differentiator. However, 'prose' is ambiguous and could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'find_template' or 'check_component'. There is no mention of prerequisites, exclusions, or context where this tool is preferred. The description assumes the agent knows when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_templateFind a complete page templateARead-onlyIdempotent
Rank up to three complete React page templates for a product or business task. Templates with a failed accessibility audit are excluded from recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The site, product, business, or page needed. | |
| style | No | Optional exact style or tag filter. | |
| category | No | Optional template category. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it ranks templates, limits to three, and excludes failed accessibility audits. Annotations already declare readOnlyHint, idempotentHint, and no destructive action, which the description supports without contradiction. More detail on the ranking algorithm could be added, but it's sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with the core action. Every sentence adds value: what it does, how many results, and an exclusion rule. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, 1 required, output schema exists), the description covers the essential behavior: ranking, count, exclusion. The output schema handles return values, so no need to detail them. Slight gap: no mention of ordering for ranking, but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the 'task' parameter's purpose ('product or business task') but does not add new meaning beyond what the schema already provides for 'style' and 'category'. No additional semantic value is introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds and ranks up to three complete React page templates for a given task, with a specific exclusion criterion (failed accessibility audits). This is a specific verb-resource pair that distinguishes it from siblings like find_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., find_component, check_template). The description only states what it does, leaving the agent to infer appropriate usage contexts without explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_planPlan component installationARead-onlyIdempotent
List dependencies, bare-harness gaps, provider requirements, setup notes, license, author credit, measured review URL, source URL, and an exact shadcn command when supported.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact component name or slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | |
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it read-only, idempotent, non-destructive, and not open-world. The description adds value by clarifying that it returns a structured plan with dependencies and provider needs, which supplements the annotations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that lists all meaningful outputs without waste. It could be improved with minor structural breaks (e.g., bullet points) for readability, but the information density is high and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one simple parameter, 100% schema coverage, and annotations covering safety/read-only behavior, the description adequately completes the picture by detailing the return value. The presence of an output schema further lessens the burden. Minor gap: no mention if component must already exist or how errors are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one param, 'name', with a clear description). The description does not repeat the schema but adds context about the output (what the plan includes). Since coverage is perfect, a baseline of 3 is appropriate; the extra description of what the name parameter yields justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List') and enumerates the exact resources returned (dependencies, gaps, requirements, notes, license, URLs, command). This distinguishes it well from siblings like find_component (search) and check_component (validate), by focusing on a detailed installation/planning report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this should be used to get a comprehensive plan before installing, but does not explicitly state when to use it versus siblings like skip_list or alternatives. It lacks guidance on prerequisites or when NOT to use this tool (e.g., if you only need a quick availability check).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
palette_pickPick an accessible paletteARead-onlyIdempotent
Return one to three curated four-color palettes by mood, with hex roles and copyable CSS variables.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Optional mood, palette slug, or tags such as dark, pastel, warm, or cold. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| palettes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations: it specifies the return count (1-3), curation, four-color structure, and output format (hex roles, CSS variables). Annotations already indicate read-only, idempotent, non-destructive nature, so the description complements rather than repeats. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence of 18 words. It front-loads the action ('Return') and packs all essential information (count, curation, palette size, filter, output format) without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no required params, output schema present, annotations covering safety), the description is complete. It explains what the tool returns, how it filters, and the output structure. The output schema can handle the detailed return format, so the description doesn't need to repeat that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'mood' is fully described in the input schema (100% coverage). The description mentions 'by mood' but does not add new meaning beyond the schema's 'Optional mood, palette slug, or tags such as dark, pastel, warm, or cold.' With full schema coverage, the description adds minimal value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 1-3 curated four-color palettes by mood, with hex roles and CSS variables. This is a specific verb-resource combination that distinguishes palette_pick from sibling tools like find_component or alternatives, which deal with different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus its siblings. It does not mention prerequisites, exclusion criteria, or scenarios where another tool would be more appropriate. The sibling tools cover components, templates, and plans, so some context about when to pick a palette vs. those would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skip_listFind components to skip firstARead-onlyIdempotent
Show failure warnings and the worst measured offenders in a pattern, optionally filtered by visual style.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Optional exact visual style. | |
| pattern | Yes | Exact component pattern. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| entries | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, establishing a safe, read-only behavioral profile. The description adds valuable context by specifying the tool surfaces failure warnings and worst measured offenders, which clarifies the kind of data returned. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is well-front-loaded with the key purpose ('Show failure warnings and the worst measured offenders') and mentions the optional filter. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 string params, no enums, no nested objects) and the presence of annotations and an output schema, the description is largely complete. It explains what the tool returns (failure warnings and worst offenders). A minor gap is not explaining what 'measured' refers to (e.g., performance metrics), but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters documented ('Exact component pattern.' and 'Optional exact visual style.'). The description reiterates the style filter but adds no new constraints or format details. Baseline is 3 because schema already covers parameter meaning adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows failure warnings and worst measured offenders in a pattern, with optional style filtering. This distinguishes it from sibling tools like 'find_component' (general search) and 'check_component' (validation), as it focuses on problematic items. However, it could be more explicit about how it differs from 'alternatives' or 'check_component'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings is provided. The description implies its use for identifying failures and worst offenders, but does not mention exclusions or alternatives. For example, there is no note like 'use check_component for detailed validation' or 'this does not provide alternatives'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
template_planPlan template adoptionARead-onlyIdempotent
Return an exact clone and setup plan for a complete template, optionally selecting one of its built palette variants.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Exact template name or slug. | |
| palette | No | Optional built palette variant slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | |
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds that it 'returns an exact clone and setup plan', implying it is a safe, read-only operation. It doesn't go beyond annotations by detailing what happens if the template doesn't exist or other edge cases, so it's adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the key action and resource, and the optional variant is appended concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a simple 2-parameter input, a clear output schema (implied by 'exact clone...plan'), and robust annotations, the description is nearly complete. It could elaborate on the return format or edge cases (e.g., missing template) but current info suffices for selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters are documented in the schema). The description mentions 'name' and 'built palette variant slug' in general terms, but adds no new meaning beyond what the schema provides (e.g., no format, constraints, or examples). Baseline 3 is correct when schema covers all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('clone and setup plan for a complete template'), and distinguishes itself from siblings like 'find_component' or 'install_plan' by focusing on producing a plan from a template name, not executing or searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states what it does (clone and plan setup) and includes an optional palette variant. However, it does not explicitly say when to use this tool vs. siblings like 'find_template' (for finding) or 'install_plan' (for installation), nor does it mention when not to use it. The context is clear but lacks exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.2.5- First observed
alternatives - First observed
check_component - First observed
check_template - First observed
find_component - First observed
find_template - First observed
install_plan - First observed
palette_pick - First observed
skip_list - First observed
template_plan
TDQS
Scored across 9 tools
Most tools cleanly separate resource (component vs template) and action (find, check, plan, skip). The main ambiguity is between find_component and alternatives, since both rank or compare candidates using measured harness results, though one is top-N ranking and the other is explicit same-pattern comparison.
The dominant pattern is verb_noun (find_component, check_component, install_plan, skip_list, find_template, check_template, template_plan), which is predictable. Palette_pick reverses the order and alternatives is a bare noun, so there are minor deviations but no chaotic mixing of conventions.
Nine tools is a well-scoped set for a UI component/template recommendation service. Each tool covers a distinct stage in the workflow—discovery, inspection, comparison, planning, palette selection, and failure warnings—without redundancy.
The tool surface covers the full decision flow: find and compare candidates, inspect verdicts, get install/clone plans, select palettes, and view failure warnings. A minor gap is the lack of a direct tool to fetch or modify component source, though install_plan and check_template provide source URLs.
Maintenance
Related MCP Connectors
MCP server for visual regression testing: triage a PR's UI diffs from your coding agent.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server for searching and listing components in Nexus Repository Manager 3 (Docker, Maven, npm, PyPI, etc.) with tools for repositories, components, Docker tags, and latest version.-
- AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that scans a repository once and answers architecture questions from an evidence-backed graph, enabling dependency analysis, impact analysis, and codebase exploration without re-reading the source tree.3MIT
- AlicenseAqualityAmaintenanceRead-only MCP server that exposes a design system's tokens, components, conventions, and deprecations as queryable tools, enabling agents to look up canonical values, assess change impact, and detect hardcoded value drift.80MIT
- AlicenseAqualityAmaintenanceMCP server that evaluates compatibility between exact versions of packages and runtimes using official evidence, returning structured verdicts (supported/unsupported/unknown) with sources and limitations.2MIT