ply-ui-mcp
v0.1.20
Published
Ply MCP server — stdio or Streamable HTTP (--http). List, search, init, doctor, diff, update, and add Angular + Tailwind components (Pro with PLY_LICENSE_KEY). Not MUI Base UI.
Downloads
1,153
Maintainers
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
Setup (stdio)
Use this in Cursor, Claude Code / Desktop, Kimi, VS Code, Windsurf, and other local MCP hosts:
{
"mcpServers": {
"ply": {
"command": "npx",
"args": ["-y", "ply-ui-mcp"],
"env": {
"PLY_CWD": "${workspaceFolder}"
}
}
}
}| Client | Where to put it |
|--------|-----------------|
| Cursor | .cursor/mcp.json or ~/.cursor/mcp.json |
| VS Code / Copilot | .vscode/mcp.json or MCP settings |
| Windsurf | MCP / Cascade settings |
| Claude Desktop | Claude Desktop MCP config |
| Claude Code | claude mcp add --transport stdio ply -- npx -y ply-ui-mcp |
| Kimi Code CLI | kimi mcp add --transport stdio ply -- npx -y ply-ui-mcp |
Set PLY_CWD to the app root (the folder with ply-ui.json), not this library’s repo. 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>). Attach the connector in each new ChatGPT chat (+ → More → Developer mode → Ply).
Self-host the same process:
npx -y ply-ui-mcp --http --host 0.0.0.0 --read-onlyPoint 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 / env | Default | Meaning |
|------------|---------|---------|
| --http / PLY_MCP_HTTP=1 | off | Streamable HTTP instead of stdio |
| --read-only / PLY_MCP_READ_ONLY=1 | off | Catalog tools only |
| --port / PORT / PLY_MCP_PORT | 3334 | Listen port |
| --host / PLY_MCP_HOST | 127.0.0.1 | Bind address (0.0.0.0 behind a proxy) |
| PLY_MCP_AUTH_TOKEN | unset | Optional Authorization: Bearer … on /mcp (BASE_UI_MCP_AUTH_TOKEN still works) |
| PLY_LICENSE_KEY | unset | Lets 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).
init_project
{ "cwd": "/path/to/your-app" }Runs ply-ui-cli init --yes. Writes ply-ui.json, styles, icons, and editor rules when those files are missing.
doctor
{ "cwd": "/path/to/your-app" }Read-only. 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. force takes upstream on conflicts. merge applies a 3-way merge. overwriteLocal reverts files you edited that upstream did not change.
Resources
| URI | Description |
|-----|-------------|
| ply-ui://registry/index | Public registry index JSON |
| ply-ui://docs/llms | Live llms.txt |
| ply-ui://docs/catalog | Live AI component catalog |
| ply-ui://docs/cursor-rules | Cursor / Windsurf project rule |
| ply-ui://docs/snippets | VS 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 217 components and blocks (127 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?
127 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 127 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 is stdio for Cursor, Claude (Code/Desktop), Kimi, VS 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. Pro add uses PLY_LICENSE_KEY on the MCP process. Editors that skip MCP can copy the Cursor rule and snippet pack from https://ply-ui.com/getting-started/#editor-rules.
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].
