# Wisty UI

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

- name: ai.wisty/ui
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.wisty%2Fui
- tools: https://api.protogrid.dev/v1/servers/ai.wisty%2Fui/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ui": {
      "type": "http",
      "url": "https://ui.wisty.ai/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 94/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,474 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 1 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,474 tokens to load them all
- tool set hash: 3ed15333a6c437bd0a0aaac2cde44f2c
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.wisty/ui.svg)](https://protogrid.dev/servers/ai.wisty/ui)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://ui.wisty.ai/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `get_component`: 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.
- `get_example`: 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.
- `get_install_command`: 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.
- `list_components`: 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.
- `search_components`: 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.
