Facade UI
Server Details
Animated shadcn components and page blocks for local business, real estate and agency websites.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- marcoschulz7/facade-ui
- GitHub Stars
- 1
TDQS
Scored across 4 tools
Each tool targets a distinct operation: catalog listing, single-item retrieval, install command generation, and page-level composition. The only soft overlap is that get_component already returns an install command that get_install_command also produces, but descriptions make the batch/multi-item role of the latter clear enough.
All four tools follow a clean snake_case verb_noun pattern (get_component, get_install_command, list_components, suggest_page) with verbs that accurately signal the action.
Four tools is well-scoped for a read-only component catalog: browse, inspect, install, and compose. Nothing feels redundant or missing at the structural level.
The surface covers the full read-only lifecycle of discovering, inspecting, installing, and assembling blocks, with filtering and page suggestions. A minor gap exists for retrieving source/docs for several items at once (get_install_command batches installs but nothing batches component details).
Available Tools
4 toolsget_componentGet a Facade componentARead-onlyIdempotentInspect
Get docs, install command, usage example and full source for one Facade item. Pro sources require a license key in the Authorization header.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Item slug as returned by list_components, e.g. 'hero-local-business' or 'booking-slots'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: Pro sources require a license key in the Authorization header, which an agent cannot learn from the annotations or schema. It stops short of describing failure behavior when the key is missing.
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, zero waste, with the payload contents front-loaded and the auth caveat second. Every clause carries information.
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?
With no output schema, the description correctly enumerates what is returned (docs, install command, usage example, full source) and flags the license requirement. Only the error/unauthorized path is left unstated, a minor gap for a read-only single-item fetch.
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% and the single 'name' parameter is documented with a concrete example slug and a pointer to list_components. The description adds nothing beyond the schema, so the baseline 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?
States a specific verb ('Get') and resource ('one Facade item') and enumerates the payload: docs, install command, usage example, full source. This clearly distinguishes it from list_components (which enumerates items) and get_install_command (which returns only the command), though the overlap with the latter is not explicitly addressed.
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 phrase 'for one Facade item' implies this is the per-item fetch versus the list, but there is no explicit when-to-use/when-not guidance and no mention of when to prefer get_install_command over this bundled call. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_install_commandGet the install commandARead-onlyIdempotentInspect
Return the shadcn CLI command that installs one or more Facade items into the current project.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | One or more item slugs to install in a single command. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the bar is lower; the description still adds real value by making clear it only returns a command string rather than performing an installation, and that the command targets the current project. It does not state the return shape (bare string vs object), which is the remaining gap.
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?
One sentence, front-loaded with the verb and the artifact returned, with zero redundant clauses. Every element 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?
For a one-parameter, fully annotated, read-only helper this is essentially complete: what it returns, for which items, and where the command applies are all covered. The only omission is what the returned value looks like, and there is no output schema to fall back on.
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 a single parameter at 100% schema description coverage, the schema already documents the slug array, its item format and minItems. The description's 'one or more Facade items' reinforces plurality but adds no new syntax or constraint detail, so baseline 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?
States a specific verb ('Return') and a precise resource ('the shadcn CLI command that installs ... Facade items'), plus the scope ('into the current project'). It is clearly distinct from list_components, get_component and suggest_page, though it never names them to reinforce the contrast.
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?
Usage is only implied: an agent can infer you call this after choosing item slugs, but there is no explicit when-to-use, when-not-to-use, or pointer to the sibling that resolves a slug (get_component / list_components). Nothing misleading, but nothing guiding either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsList Facade componentsARead-onlyIdempotentInspect
List Facade components and blocks (animated React + Tailwind sections for local business, real estate and agency sites). Filter by kind, category, tier or a text query. All filters are optional; without any filter every item is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'component' for single UI pieces (badges, cards, inputs), 'block' for full page sections (hero, pricing, FAQ). | |
| tier | No | 'free' for MIT licensed items anyone can install, 'pro' for items that need a license key. | |
| query | No | Free text matched against name, title, description and tags, e.g. 'pricing', 'hero', 'booking'. | |
| category | No | Registry category, case-insensitive. One of: Buttons, Cards, Conversion, Data, Feedback, Forms, Hero, Layout, Local business, Media, Navigation, Real estate, Sections, Text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds one useful operational fact: an unfiltered call returns the complete catalog. It says nothing about pagination, ordering, or result size limits, which matters for a catalog listing.
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?
Three short sentences with the domain context front-loaded, followed by filter capabilities and the no-filter behavior. Nothing is repeated or padded.
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?
With no output schema, the description should sketch what a returned item looks like (identifier, name, tier, category) so an agent can chain into get_component or get_install_command. It mentions only 'every item is returned', leaving the result shape and ordering unspecified.
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%, including enum descriptions for kind and tier, so the schema already explains every parameter. The description only restates the filter names and their optionality, adding no new semantics such as combining filters or match behavior.
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 a specific verb and resource ('List Facade components and blocks') and immediately clarifies what those things are ('animated React + Tailwind sections for local business, real estate and agency sites'). This distinguishes it from the sibling get_component, which retrieves a single item by name.
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?
It states that all filters are optional and that no filter returns every item, which is useful context. However, it never names an alternative (e.g., get_component for a single item, suggest_page for recommendations) or states when filtering is preferred over listing everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_pageSuggest a page planBRead-onlyIdempotentInspect
Suggest an ordered list of Facade blocks to build a complete page for a business type (e.g. 'plumber', 'real estate brokerage', 'dental clinic', 'marketing agency').
| Name | Required | Description | Default |
|---|---|---|---|
| business | Yes | The kind of business the page is for, in plain words, e.g. 'plumber', 'hair salon', 'real estate brokerage'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds only the shape of the result ('ordered list of Facade blocks'), with no note on determinism, coverage limits, or what happens for unrecognized business types.
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?
One front-loaded sentence with no filler and the key scope in the first clause. The parenthetical examples are slightly redundant with the schema but not wasteful.
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 simple one-parameter, read-only tool this is close to adequate, but with no output schema the description should say more about what a returned 'Facade block' entry looks like (names, identifiers, ordering semantics).
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% and the schema already documents 'business' with the same examples. The description's examples largely duplicate the schema, so no meaningful extra parameter guidance is provided beyond 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?
States a specific verb (suggest) and resource (an ordered list of Facade blocks for a complete page), plus concrete business-type examples that make the intent unambiguous. It does not explicitly contrast with siblings like list_components, but the verb 'suggest ... ordered list ... to build a complete page' is distinguishable from plain listing.
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?
Usage is implied: call this when you need a page plan for a given business type. There is no explicit statement of when to prefer it over list_components/get_component, nor any prerequisites or exclusions.
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.
4 tool updates
- Changed
get_component1 field changed- changed
Input schema / properties / name / descriptionPrevious value: -"Item slug, e.g. 'hero-local-business'"New value: +"Item slug as returned by list_components, e.g. 'hero-local-business' or 'booking-slots'."
- Changed
get_install_command3 fields changed- added
Input schema / properties / names / descriptionAdded value: +"One or more item slugs to install in a single command." - added
Input schema / properties / names / items / descriptionAdded value: +"Item slug, e.g. 'open-now-badge'." - added
Input schema / properties / names / minItemsAdded value: +1
- Changed
list_components4 fields changed- added
Input schema / properties / category / descriptionAdded value: +"Registry category, case-insensitive. One of: Buttons, Cards, Conversion, Data, Feedback, Forms, Hero, Layout, Local business, Media, Navigation, Real estate, Sections, Text." - added
Input schema / properties / kind / descriptionAdded value: +"'component' for single UI pieces (badges, cards, inputs), 'block' for full page sections (hero, pricing, FAQ)." - changed
Input schema / properties / query / descriptionPrevious value: -"Free text, e.g. 'pricing', 'hero', 'booking'"New value: +"Free text matched against name, title, description and tags, e.g. 'pricing', 'hero', 'booking'." - added
Input schema / properties / tier / descriptionAdded value: +"'free' for MIT licensed items anyone can install, 'pro' for items that need a license key."
- Changed
suggest_page1 field changed- added
Input schema / properties / business / descriptionAdded value: +"The kind of business the page is for, in plain words, e.g. 'plumber', 'hair salon', 'real estate brokerage'."
4 tool updates
- First observed
get_component - First observed
get_install_command - First observed
list_components - First observed
suggest_page
Related MCP Connectors
React, Tailwind CSS and shadcn/ui components, sections and landing pages for coding agents.
Animated website templates, cinematic video backgrounds, UI components and design systems.
Motion-first React components for shadcn: search, read docs and get install commands.
React components and blocks with motion. Search docs, props and shadcn install commands.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenance745+ CSS3 animations and 9,000+ real SVG icons (Lucide, Heroicons, Tabler, Bootstrap) for AI coding agents. Zero-clone setup via npx animotion-mcp. 10 MCP tools including search_animations, get_icon, suggest_animation, compose_animation, and more.13MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to create professional YouTube videos using Remotion with a design-system-first approach. Provides 20+ video components, 7 themes, and animated elements optimized for engagement and retention.1523Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search for and fetch pre-vetted, production-safe 3D and motion components (React Three Fiber & GSAP) for injection into Next.js apps via AST-safe edits.114 npmMIT
- AlicenseAqualityDmaintenanceProvides AI assistants with comprehensive access to shadcn/ui v4 components, blocks, demos, and metadata across React, Svelte, Vue, and React Native, enabling efficient component integration and code generation.108,219 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.