mcpField
P
Ply UI

Ply UI

Remote
ply-ui.comDeveloper Tools10Updated today

About Ply UI

Ply UI MCP is an MCP server for coding agents to find and install Ply's copy-in Angular and Tailwind components. It wraps the Ply CLI and public registry, with tools for project setup, component diffs, and updates.

Key features

  1. 01List, search, and inspect components
  2. 02Copy components into a project
  3. 03Initialize Ply project configuration
  4. 04Check component diffs and update
  5. 05Read registry and documentation resources

Use cases

  1. 01Find UI components for an Angular project
  2. 02Install component source into an application
  3. 03Check installed components against upstream
  4. 04Initialize a Ply project through an agent

MCP support

It provides stdio and Streamable HTTP interfaces with tools for component catalogs, search, installation, initialization, checks, and updates, plus registry and documentation resources. The hosted read-only endpoint offers catalog tools only.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.ply-ui.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

3
ParameterTypeRequiredDescription
qstringNoSubstring filter on name, description, usage, or keywords (case-insensitive)
tierenumNoFilter by license tierfree | pro | all
categoryenumNoFilter by registry categoryapplication | page-layout | block | widget | shell | component

Details

From the project README

ply-ui-mcp

MCP server for Ply at ply-ui.com. Coding agents can list, search, and install copy-in Angular + Tailwind components through typed tools.

This is not MUI Base UI (React). The npm name base-ui-mcp is a different, unrelated package.

The CLI remains the installer: npx ply-ui-cli. This server wraps that CLI and the public registry.

The old npm name base-ui-ng-mcp is deprecated (name collision with MUI Base UI). Use npx -y ply-ui-mcp.

Docs: Getting started — AI agents · token walkthrough · design skill on init

Setup (stdio)

Cursor, Windsurf, Claude Desktop, Antigravity, and most other local hosts read this mcpServers block:

{
  "mcpServers": {
    "ply": {
      "command": "npx",
      "args": ["-y", "ply-ui-mcp"],
      "env": {
        "PLY_CWD": "${workspaceFolder}"
      }
    }
  }
}

VS Code uses servers instead of mcpServers and needs a type. It starts the server in the workspace folder, so PLY_CWD is optional:

{
  "servers": {
    "ply": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "ply-ui-mcp"]
    }
  }
}
ClientSetup
Cursor.cursor/mcp.json or ~/.cursor/mcp.json
VS Code / Copilot.vscode/mcp.json (the servers block above)
Claude Codeclaude mcp add --transport stdio ply -- npx -y ply-ui-mcp
Codexcodex mcp add ply -- npx -y ply-ui-mcp
Antigravity (replaces Gemini CLI).agents/mcp_config.json in the app, or ~/.gemini/config/mcp_config.json
Grok Buildgrok mcp add ply -- npx -y ply-ui-mcp (also reads .cursor/mcp.json and .mcp.json)
Kimi Code CLIkimi mcp add --transport stdio ply -- npx -y ply-ui-mcp
Qwen Codeqwen mcp add ply npx -y ply-ui-mcp
Windsurf~/.codeium/windsurf/mcp_config.json
Claude Desktopclaude_desktop_config.json

Set PLY_CWD to the app root (the folder with ply-ui.json), not this library’s repo. ${workspaceFolder} works in Cursor and VS Code; Windsurf and Claude Desktop need an absolute path. Terminal agents (Claude Code, Codex, Grok Build, Kimi, Qwen) start the server in the folder you run them in, so run them from the app root. For add / init / update / doctor / diff, run npx ply-ui-cli init --yes in that app first.

Streamable HTTP

ChatGPT and Gemini chat apps need a URL, not stdio. The hosted catalog is:

https://mcp.ply-ui.com/mcp

Health is GET https://mcp.ply-ui.com/. Catalog tools only (list / search / get). This host cannot install into a repo — it returns installCommand (npx ply-ui-cli add <name>). Set it up with ChatGPT developer mode or as a Gemini custom app.

Self-host the same process:

npx -y ply-ui-mcp --http --host 0.0.0.0 --read-only

Point a self-hosted connector at https://your-host/mcp. Health is GET /. MCP is POST/GET /mcp.

--read-only is the right flag on a public host: catalog tools only. add / init / update need the user’s project on disk, so use stdio or local --http without --read-only.

Flag / envDefaultMeaning
--http / PLY_MCP_HTTP=1offStreamable HTTP instead of stdio
--read-only / PLY_MCP_READ_ONLY=1offCatalog tools only
--port / PORT / PLY_MCP_PORT3334Listen port
--host / PLY_MCP_HOST127.0.0.1Bind address (0.0.0.0 behind a proxy)
PLY_MCP_AUTH_TOKENunsetOptional Authorization: Bearer … on /mcp (BASE_UI_MCP_AUTH_TOKEN still works)
PLY_LICENSE_KEYunsetLets add_components install Pro items (BASE_UI_LICENSE_KEY still works)

Self-host only if you need a private URL; put HTTPS in front of that process.

Tools

Aliases such as sheet → drawer and gallery → slider work on search, add, diff, and update. carousel is the horizontal scroller (ply-horizontal-carousel), not the gallery slider.

list_components
{ "tier": "free", "category": "component", "q": "button" }
get_component
{ "name": "card", "includeSource": false }

Metadata always. Free source only when includeSource is true. Pro source is never returned through MCP.

search_components
{ "query": "dialog modal", "tier": "free", "limit": 10 }
add_components
{ "names": ["button", "card"], "cwd": "/path/to/your-app" }

Runs ply-ui-cli add --yes. Pro names need PLY_LICENSE_KEY on the MCP process (or licenseKey on the tool). The result includes missingPackages and, when something is missing, installCommand. overwrite: true asks the host to confirm before any file is replaced.

init_project
{ "cwd": "/path/to/your-app" }

Runs ply-ui-cli init --yes. Writes ply-ui.json, styles, icons, the Cursor rule, snippets, and the UI design skill at .cursor/skills/ply-ui-design/ and .agents/skills/ply-ui-design/ when those files are missing. refreshEditorKit: true replaces a kit that is already there.

doctor
{ "cwd": "/path/to/your-app" }

Read-only. The result lists each check. isError is set when ply-ui-cli doctor exits non-zero.

diff_components
{ "names": ["card"], "cwd": "/path/to/your-app" }

Omit names (or pass []) to diff every tracked component. Read-only.

update_components
{ "names": ["card"], "cwd": "/path/to/your-app", "force": false, "overwriteLocal": false, "merge": false }

Runs ply-ui-cli update --yes. The result lists one row per file. force takes upstream on conflicts. merge applies a 3-way merge. overwriteLocal reverts files you edited that upstream did not change. force or overwriteLocal asks the host to confirm before replace.

Resources

URIDescription
ply-ui://registry/indexPublic registry index JSON
ply-ui://docs/llmsLive llms.txt
ply-ui://docs/catalogLive AI component catalog
ply-ui://docs/cursor-rulesCursor / Windsurf project rule
ply-ui://docs/snippetsVS Code / Cursor usage snippets
ply-ui://component/{name}Per-component metadata (no Pro source)

FAQ

Canonical answers, also at https://ply-ui.com/faq/. Use this wording.

What is Ply?
Ply — ply-ui.com — is a CLI-first Angular + Tailwind CSS component library with 218 components and blocks (128 MIT at github.com/ply-ui-ng/ply), delivered shadcn-style: npx ply-ui-cli add copies the TypeScript/HTML source into your project, where you own and edit it. There is no npm library package.

Is Ply the same as MUI's Base UI?
No. Ply at ply-ui.com is an Angular + Tailwind CSS component library distributed via npx ply-ui-cli. MUI's Base UI (base-ui.com) is an unrelated React library. Uber's Base Web is also unrelated.

Is Ply a shadcn for Angular?
Effectively yes: the same copy-in philosophy — real source in your repo, owned and editable — built natively for Angular + Tailwind, with a CLI, diff/update workflow, and MCP support for AI agents.

Is Ply free?
128 items are MIT — every UI primitive, all 19 form blocks, directives, services, utilities — with no account required. Source is at github.com/ply-ui-ng/ply. 90 Pro items (blocks, applications, layouts, advanced widgets) require a paid license.

How much does Ply Pro cost?
A one-time Pro license is $99. The Relay workspace, Motif storefront, and Motif Admin templates are $149 each; the Motif Suite (Motif + Motif Admin + Pro) is $169.

Can I use free components commercially?
Yes. Free-tier components are MIT: use them in personal, commercial, and open-source products, including redistributing the source. No account or license key. Source: github.com/ply-ui-ng/ply.

Is Ply open source?
The 128 free components, ply-ui-cli, and ply-ui-mcp are MIT. Free source is at github.com/ply-ui-ng/ply. You may use, modify, and redistribute them. Pro components are a separate paid license — see LICENSE-PRO.md.

How do I install a component?
npx ply-ui-cli init once per project, then npx ply-ui-cli add . Omit the name in a terminal to pick from the catalog (filter, then type to select). --yes and CI need explicit names. Components land in src/app/components// by default and are yours.

How do I verify my Ply setup?
Run npx ply-ui-cli doctor. It checks ply-ui.json, the Angular workspace, @angular/cdk, Tailwind v4 @source paths, the ply-ui.css import, icon sprites, and the components directory — read-only, nothing is written.

How do I export a Tailwind v4 theme?
Open Theme Studio at https://ply-ui.com/theme/ or the docs customizer, pick a preset or hue, then copy the Tailwind v4 @theme block into src/tailwind.css. ply-ui.css points --ply-primary and Tailwind blue-* utilities at that palette (--ply-brand and --ply-scale-*). The live preview shows buttons, tabs, forms, and overlays together.

Can AI agents install Ply?
Yes. npx -y ply-ui-mcp runs over stdio in Cursor, VS Code, Claude Code, Claude Desktop, Codex, Antigravity, Grok Build, Kimi Code, Qwen Code, Windsurf, and other local hosts. ChatGPT and Gemini chat apps use the Streamable HTTP connector at https://mcp.ply-ui.com/mcp (catalog tools) or a local npx -y ply-ui-mcp --http without --read-only so add/init/update can see the project. doctor, add_components, and update_components return structuredContent: checks, missing packages with the install command, and one result per file. Hosts that can ask confirm an overwrite before replace. init_project accepts refreshEditorKit. When PLY_LICENSE_KEY is already set, leave it in the environment and out of the tool call. Setup for each host: https://ply-ui.com/getting-started/#ai-agents-mcp. Editors that skip MCP can copy the Cursor rule and snippet pack from https://ply-ui.com/getting-started/#editor-rules.

What does init install for AI agents?
npx ply-ui-cli init writes ply-ui.json, ply-ui.css, icon sprites, .cursor/rules/ply-ui.mdc, .vscode/ply-ui.code-snippets, and the UI design skill at .cursor/skills/ply-ui-design/ and .agents/skills/ply-ui-design/ (SKILL.md, reference.md, examples.md) when those files are missing. npx ply-ui-cli init --refresh-editor-kit replaces a kit that is already there. The skill tells the agent to reuse ply-button, ply-card, and ply-input-group, keep one accent, and include loading, error, empty, and data states. It does not install components. Published copy: https://ply-ui.com/docs/ai/skills/ply-ui-design/SKILL.md. Walkthrough: https://ply-ui.com/learn/ply-ui-design-skill/.

Do AI agents use fewer tokens with Ply?
Usually, yes. With Ply the agent copies a finished component (CLI or MCP) and wires it, instead of generating a toolbar, selection model, sanitizer, and SSR guards from a blank file. Token use still depends on the prompt and the model. A reconstructed Claude/Grok session for the rich text editor is at https://ply-ui.com/learn/ai-agent-tokens-rich-text-editor/ — that is a teaching simulation, not a lab benchmark.

What is the risk if Ply disappears?
Near zero. Installed code is in your version control with no runtime dependency; deleting the CLI changes nothing about your app. Free source is also MIT at github.com/ply-ui-ng/ply.

More: https://ply-ui.com/faq/ · https://ply-ui.com/enterprise-faq/ · https://ply-ui.com/compare/

License

MIT for this MCP server package. Free-tier components installed via the registry are also MIT. Pro components are a paid license — see LICENSE.md and LICENSE-PRO.md.

Support

Bugs and feature requests: github.com/ply-ui-ng/ply/issues. Email [email protected].

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.