Ply UI
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLY_LICENSE_KEY | No | License key used by the MCP process to enable Pro components (add_components, init_project, update_components). Optional; the free tier works without it. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_componentsA | List Ply registry components filtered by tier, category, or a case-insensitive substring, sorted by name. Not a fuzzy match: search_components ranks uncertain names, and get_component reads one known name. Does not install. To copy a component into a project, tell the user to run npx ply-ui-cli add . |
| get_componentA | Get registry metadata for one known component (deps, category, file list). Use search_components when the name is uncertain. Free source only when includeSource=true. Pro source is never streamed via MCP. Does not install; returns installCommand (npx ply-ui-cli add ). |
| search_componentsA | Rank Ply registry components by a fuzzy or token match when the name is uncertain (for example "dialog modal"). Not a category browse: list_components filters by tier, category, or substring, and get_component reads one known name. Does not install. To copy a match into a project, tell the user to run npx ply-ui-cli add (or local stdio add_components). |
| add_componentsA | Install named registry components into a project that already has ply-ui.json ( |
| init_projectA | Create missing Ply setup files ( |
| doctorA | Check Ply project setup: ply-ui.json, Angular and CDK, Tailwind v4 and @source, ply-ui.css, and icon sprites. @source problems are warnings. File drift against the registry is diff_components, which writes nothing. Does not install or modify files. Returns isError when the CLI exits non-zero. |
| diff_componentsA | Compare each tracked Ply component file with the registry and return drifted paths and statuses. Writes nothing. update_components applies those upstream changes. doctor checks project setup, not file contents. |
| update_componentsA | Apply upstream changes to tracked Ply component copies ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| registry-index | Public Ply registry index (names, tiers, categories, description, usage, keywords, deps) |
| docs-llms | Agent-oriented product overview (keep fetching this URL even when MCP is available) |
| docs-catalog | docs/ai/components.md — detailed component reference for agents |
| docs-cursor-rules | Save as .cursor/rules/ply-ui.mdc (or .windsurf/rules/ply-ui.md). Teaches assistants to write standalone zoneless Angular 22 with Ply without running MCP. |
| docs-snippets | Save as .vscode/ply-ui.code-snippets. Prefixes like ply-card expand usage markup after CLI install. |
TDQS
Scored across 8 tools
The tools have clearly distinct purposes, and the descriptions explicitly disambiguate the easily confused groups: list/search/get for discovery and doctor/diff/update for diagnostics and changes. Each tool also states what it does not do and which sibling tool handles that adjacent case.
Most names follow a predictable snake_case verb_noun pattern such as list_components, get_component, add_components, and update_components. doctor is a noun-style outlier, though it is a conventional diagnostic command name.
Eight tools are well-scoped for a UI component registry and project setup server. Each tool covers a meaningful workflow step without obvious redundancy.
The surface covers project initialization, diagnostics, component discovery, installation, drift detection, and updates. Minor gaps remain, such as no explicit remove/uninstall operation, and init_project references refreshEditorKit even though no such tool appears in the set.