npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

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-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 / 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 sheetdrawer and galleryslider 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].