Skip to main content
Glama

Wisty UI

Server Details

Find, read and install shadcn components with Salesforce Lightning's look, for Radix and Base UI.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role: list/search for discovery, get_component for docs/API, get_example for example code, and get_install_command for installation steps. The only mild overlap is list_components vs search_components, but the descriptions explicitly guide when to use each.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_component, get_example, get_install_command, list_components, search_components. The convention is predictable and easy to scan.

Tool Count5/5

Five tools is well-scoped for a component-library documentation server. Each tool covers a necessary part of the workflow: discovery, documentation, examples, and installation.

Completeness4/5

The surface covers the core lifecycle of finding, reading, and installing Wisty UI items, including examples and docs. Minor gaps exist, such as no dedicated tool for theme-only setup or project configuration inspection, but agents can work around these via get_install_command and external file reads.

Available Tools

5 tools
get_componentRead a Wisty UI itemA
Read-onlyIdempotent
Inspect

Read one Wisty UI item: its install command, its examples by name, When to use, When not to use, Usage, Rules, its API reference for the project's base, then its longer docs sections. Pass style from components.json so the API matches the project. An agent that already knows the item can ask for only some sections, like ["Rules"] or ["API reference"]. With source: true it adds the installable files, which you rarely need: install with the shadcn command instead.

NameRequiredDescriptionDefault
nameYesThe item's name, like "lookup", as search_components and list_components give it.
styleNoThe "style" field of the project's components.json, like "radix-nova" or "base-nova". It picks the Radix or Base UI version. Leave it out for the Radix version.
sourceNoAdd the item's installable files, for reading or copying by hand.
sectionsNoOnly these parts, under the item's title and install command. Leave it out for all of them.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, closed-world, so the safety profile is settled. The description adds real context beyond them: what sections exist, that `style` changes which API variant is returned, and that `source` inflates the response with files an agent rarely wants.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb and the returned content, which is the right order for a read tool with no output schema. The long inline enumeration of sections partly duplicates the schema enum and the phrase "its examples by name" is slightly opaque, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing the return value, and it does so section by section, plus it explains the two optional parameters' trade-offs. Only the absence of sibling routing and of any size/token warning keeps it short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented and the baseline is 3. The description adds marginal meaning — the "rarely need" steer away from `source` and the section-subset shortcut — but restates the `style` guidance the schema already gives.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb and resource ("Read one Wisty UI item") and then enumerates the payload it returns, so an agent knows exactly what comes back without an output schema. It never names or contrasts the sibling tools (search_components, list_components, get_example, get_install_command), so differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It offers useful in-tool guidance — narrowing via `sections` when the item is already known, and preferring the shadcn install command over `source: true`. However, it never states when to reach for this tool rather than search_components or list_components, leaving the sibling-routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_exampleRead a Wisty UI exampleA
Read-onlyIdempotent
Inspect

Get the code of one example of a Wisty UI item, for the project's base: a complete, working use you can adapt. Without example, the first one, which shows the job the item is for. A page block's first example is the files its install writes, the page first; any other example that imports its item's own files, like its sample data, is followed by them. get_component lists each item's examples by name.

NameRequiredDescriptionDefault
nameYesThe item's name, like "lookup", as search_components and list_components give it.
styleNoThe "style" field of the project's components.json, like "radix-nova" or "base-nova". It picks the Radix or Base UI version. Leave it out for the Radix version.
exampleNoThe example's name, like "default".

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds real value beyond that by disclosing default resolution when "example" is omitted and the composition/ordering of returned content (page block examples include the files its install writes, imported files follow). It does not mention size limits or truncation of the returned code.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence with no wasted preamble. The middle sentences about page-block example composition are dense and grammatically tangled ("the files its install writes, the page first"), costing readability, though they are not padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the necessary work of explaining what is returned (working example code, plus associated install/imported files) and what the optional parameters default to. The remaining gap is behavioral detail about response shape or size, which is minor for a read-only fetch.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented, including the "style" fallback to the Radix version. The description reinforces the "example" default behavior but adds no format or syntax detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Get the code of one example of a Wisty UI item" gives a specific verb (get) and resource (an item's example code), and the closing mention of get_component clarifies the relationship between fetching one example versus listing them. It stops short of a crisp single-sentence statement of scope, but an agent can tell what it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Without example, the first one, which shows the job the item is for" gives useful default-selection guidance, and the note that get_component lists examples by name implies a discovery workflow. However, there is no explicit when-to-use-this-vs-alternatives statement (e.g. when to call get_component or get_install_command instead), so routing is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_install_commandInstall a Wisty UI itemA
Read-onlyIdempotent
Inspect

Get the steps to install one Wisty UI item with the shadcn CLI: the npx shadcn command, the theme step that writes Wisty UI's theme into the project's stylesheet once, and, for an item that draws Salesforce icons, the step that copies their sprites to the app's static files. Read style and tailwind.css from the project's components.json, and whether the project has a src/ folder, first; a project without one runs npx shadcn@latest init before anything else.

NameRequiredDescriptionDefault
nameYesThe item's name, like "lookup", as search_components and list_components give it.
styleYesThe "style" field of the project's components.json, like "radix-nova" or "base-nova". It picks the Radix or Base UI version.
srcDirNoWhether the project has a src/ folder, where the shadcn CLI puts the theme files. Without it, a tailwindCss under src/ is taken to mean one.
themedNoTrue when the stylesheet already has Wisty UI's theme: --color-page in its @theme inline, or an import of tokens.css. Leaves the theme step out.
tailwindCssNoThe "tailwind.css" path from components.json, like "src/index.css", relative to the project. It gives the exact lines for importing the theme by hand; without it, the steps name the files to import instead.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, so safety is covered. The description adds the material behavioral fact that the tool returns a plan of steps rather than installing, that the theme write happens only once (tied to the themed flag), and that an icon-sprite copy step is conditionally included — real context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the verb and resource front-loaded and no filler. The first sentence is a long triple-clause construction that takes some parsing, but every clause conveys a distinct step type rather than restating the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain what comes back — it does, enumerating the returned steps and their conditional variants. It also covers the init prerequisite and the once-only theme write, leaving nothing essential an agent needs before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including where style and tailwindCss values come from in components.json, so the schema already carries the parameter burden. The description reinforces the components.json/src-dir provenance and ties the theme step to the themed condition, but adds little that the schema does not already say, and never mentions the required name parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get the steps to install one Wisty UI item with the shadcn CLI,' and enumerates what those steps contain (npx command, theme step, icon sprite copy). It does not name or contrast any sibling such as get_component or get_example, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use versus alternatives statement; the reader must infer that this comes after search_components/list_components. The description does give a concrete precondition chain (read components.json and check for src/ first; run shadcn init when there is no src/), which is useful but procedural rather than selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_componentsList Wisty UIA
Read-onlyIdempotent
Inspect

List every Wisty UI item by kind, with its name and first sentence, optionally only one kind. Primitives are shadcn's own components with the Salesforce look; components are what shadcn lacks, like lookup; blocks are Salesforce assemblies over sample data; helpers turn records into a block's props. Prefer search_components when you know the job.

NameRequiredDescriptionDefault
kindNoOnly items of this kind.

TDQS

A4.4/5.0
Behavior4/5

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 safety profile is settled. The description adds behavior annotations don't: exactly what each item carries (name plus first sentence) and the four-way taxonomy that governs what comes back. Pagination and result-size behavior remain unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The listing behavior is front-loaded, then the taxonomy, then the alternative-tool routing, all in four short sentences with no filler. Every clause carries either scope, definition, or routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter browse tool with no output schema and full annotation coverage, the description is complete enough to call correctly and interpret results. It stops short of describing item shape beyond name and first sentence, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with an enum on the single optional parameter, so the baseline would be 3. The description earns above baseline by defining what each enum value actually means — primitives are shadcn components with the Salesforce look, blocks are Salesforce assemblies, helpers turn records into block props — which the enum strings alone do not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List every Wisty UI item by kind, with its name and first sentence" gives a specific verb, resource, and even the shape of each returned entry. The following sentences define the four kinds, so an agent can distinguish this browse tool from get_component/search_components without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Prefer search_components when you know the job" supplies an explicit alternative plus the condition that selects it, implying this tool is the browse-when-you-don't-know path. It does not mention when to follow up with get_component/get_example, but the core routing decision is covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_componentsSearch Wisty UIA
Read-onlyIdempotent
Inspect

Find Wisty UI components by the job they do, ranked best first. Use one to three short keywords, like "record picker", "picklist", "toast" or "confirm delete", not a sentence. Each match gives the item's name, kind (primitive, component, block, helper), its description and, when its docs hold the query's words, the line of its When to use or When not to use that does. Read a match with get_component.

NameRequiredDescriptionDefault
kindNoOnly items of this kind.
limitNoThe most matches to return.
queryYesOne to three keywords for the job.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), so the description focuses on what it alone can add: results are ranked best-first, each match returns name, kind, description, and conditionally a When to use / When not to use line only when the docs contain the query words. That conditional field behavior is genuinely non-obvious and is exactly the kind of disclosure annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose and ranking, then the query constraint, then the return shape and next step. The third sentence is syntactically tangled ("the line of its When to use or When not to use that does"), costing a point on readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-value burden and does: it names the returned fields and the conditional doc-line inclusion. Combined with query formulation guidance and the get_component handoff, an agent has everything needed to call and follow up correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns above that by giving worked query examples ("record picker", "picklist", "confirm delete") that show the intended keyword granularity, and by echoing the kind enumeration inline. It does not clarify limit behavior beyond the schema's default of 8.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Find Wisty UI components") plus the ranking behavior, and ties the search dimension to "the job they do" rather than names. That framing distinguishes it from list_components (enumerate) and get_component (read one item) named in the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes query form ("one to three short keywords... not a sentence") with four concrete examples, and closes the loop with "Read a match with get_component." It does not say when to prefer list_components instead of keyword search, which is the remaining gap.

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.

  1. 5 tool updates
    • First observedget_component
    • First observedget_example
    • First observedget_install_command
    • First observedlist_components
    • First observedsearch_components

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources