should-i-render
should-i-render
should-i-render는 선별된 스냅샷에서 측정된 React 컴포넌트와 완전한 vibecodng 페이지 템플릿을 선택하기 위한 읽기 전용 MCP 서버입니다. 소스 덤프를 반환하는 대신 간결한 판정과 실용적인 채택 사실로 적합성 질문에 답합니다.
번들로 제공되는 스냅샷에는 현재 게시된 should-i-render 인덱스가 포함되어 있습니다. stdio를 통해 실행되며 API 키, 데이터베이스 또는 네트워크 액세스가 필요하지 않으며 모든 텍스트 응답을 약 500 토큰으로 제한합니다.
vibecodng.com에서 호스팅되는 무료 베타는 실시간 인덱스를 읽으며 API 키당 UTC 일당 100회의 도구 호출을 포함합니다. 브라우저에서 키를 생성한 다음 HTTP 지원 MCP 클라이언트를 https://vibecodng.com/mcp에 연결하세요. 할당량 없이 비공개 오프라인 버전 관리 스냅샷을 원할 때 이 npm 패키지를 사용하세요.
Local use
{
"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
Tools
find_component({task, pattern?, style?, palette?})는 컴포넌트 설명, 패턴, 스타일 및 측정 결과에 대해 최대 세 개의 검증된 렌더링 적합성을 순위화합니다. 실패 경고는 권장 사항에서 제외됩니다. 팔레트 슬러그를 전달하면 해당 CSS 변수가 추가됩니다.palette_pick({mood?})는 16진수 역할과 복사 가능한 CSS 변수 블록이 포함된 1~3개의 선별된 접근 가능한 팔레트를 반환합니다.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?})는 정확한 클론/설정 계획을 반환하고 내장된 팔레트 미리보기를 선택할 수 있습니다.
모든 도구에는 제목, 읽기 전용 주석, 출력 스키마 및 제한된 텍스트 응답과 함께 구조화된 콘텐츠가 포함됩니다.
Palettes
패키지에는 24개의 독창적인 4색 팔레트가 번들로 제공됩니다. 각 팔레트는 accent, surface, text 및 muted를 정의합니다. 모든 텍스트-표면 쌍은 WCAG AA 대비 4.5:1 이상으로 검증됩니다. 팔레트 슬러그 또는 dark, light, pastel, neon, retro, earth, warm, cold, mono와 같은 분위기와 함께 palette_pick을 사용하세요.
:root {
--bw-accent: #E85D4A;
--bw-surface: #FFF7F1;
--bw-text: #34231F;
--bw-muted: #775F57;
}자동 테마는 자사 컴포넌트에 적용됩니다. 타사 항목은 수동 매핑이 필요합니다.
What the measured strip means
RENDERS는 준비된 하네스 마운트 결과입니다. A11Y는 기록된 axe 위반의 합계입니다. KB는 하네스 기준선 대비 한계 gzip 번들 크기입니다. BARE는 준비된 shadcn 스타일 도우미 없이 두 번째 빌드 및 마운트 패스입니다. PROVIDER는 누락된 제공자 마운트 오류가 측정되었음을 의미합니다.
The style axis
패턴과 스타일은 다른 질문에 답합니다. 패턴은 버튼, 캘린더, 캐러셀 또는 텍스트 리빌과 같이 컴포넌트가 수행하는 작업입니다. 스타일은 minimal-flat, brutalism, spatial, bento 또는 dark-futuristic과 같이 속한 시각적 세계입니다. 상호작용은 고정되어 있지만 제품 언어는 고정되지 않은 경우 둘 다로 필터링하는 것이 유용합니다.
스타일은 편집 분류이며 패키지 기능이 아닙니다. 동일한 패턴과 스타일을 가진 두 항목이라도 종속성, 접근성 결과, 번들 비용, 베어 호환성 및 제공자 요구 사항에서 크게 다를 수 있습니다.
Data
data/components.json은 게시된 컴포넌트 레코드의 특정 시점 내보내기입니다. 설명, 측정 결과, 소스 및 작성자 크레딧, 라이선스 메타데이터, 패턴 및 스타일, 상대 미리보기 경로가 포함됩니다. 미리보기 이미지 또는 비디오 바이트는 포함되지 않습니다. data/palettes.json은 번들 팔레트 카탈로그이고 data/templates.json은 공개 완전 템플릿 라이브러리를 설명합니다.
동일한 형태의 다른 스냅샷을 테스트하려면 SHOULD_I_RENDER_DATA=/path/to/components.json을 설정하세요.
Limitations
현재 하네스는 React 컴포넌트만 측정합니다.
적용 범위는 철저한 레지스트리 크롤링보다는 선별되어 있습니다.
스냅샷은 특정 시점입니다. 업스트림 컴포넌트 API 및 종속성은 내보내기 후 변경될 수 있습니다.
하네스 결과는 통제된 측정값이며 프로덕션 QA가 아닙니다. 앱에서 브라우저, 디자인 시스템, 접근성, 보안 또는 사용자 테스트를 대체하지 않습니다.
데모는 각 컴포넌트의 소스 API에 대해 작성되며 스크린샷을 생성합니다. 데모는 모든 prop, 상호작용, 서버 동작 또는 데이터 로딩 경로를 다루지 않고 의도된 상태를 다룰 수 있습니다.
깨끗한 접근성 수는 기록된 데모가 이 하네스에서 axe 결과가 없음을 의미합니다. 접근성 인증이 아닙니다.
판정 및 스타일 레이블은 기록된 측정값과 소스 API에 기반한 편집 판단입니다.
License
서버 코드는 MIT 라이선스입니다. 컴파일된 인덱스 메타데이터는 mrkeyoor.com에 저작자 표시가 있는 CC BY 4.0입니다. 개별 컴포넌트 소스 프로젝트는 자체 라이선스와 작성자 크레딧을 유지합니다.
Contributing
잘못된 판정이나 오래된 컴포넌트 레코드를 발견하셨나요? 이슈 열기.
MCP 서버 및 순위화 로직에 대한 코드 변경을 환영합니다. 응답을 제한 내로 유지하고 풀 리퀘스트를 열기 전에
npm test를 실행하세요.data/components.json은 측정된 vibecodng 인덱스에서 생성되므로 데이터 수정은 스냅샷을 직접 편집하기보다 이슈로 시작해야 합니다.
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