ply-ui-mcp 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,33 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Lussos
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to
7
+ deal in the Software without restriction, including without limitation the
8
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9
+ sell copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ DEALINGS IN THE SOFTWARE.
22
+
23
+ ---
24
+
25
+ Scope: "the Software" above means this MCP server package itself
26
+ (`ply-ui-mcp`: tool wiring, registry metadata fetching, and CLI
27
+ subprocess orchestration) and nothing else.
28
+
29
+ It does NOT cover the components, blocks, layouts, or other content that
30
+ `ply-ui-cli` downloads and writes when tools like `add_components` run.
31
+ That content is fetched at runtime from https://ply-ui.com and is licensed
32
+ separately — see:
33
+ https://github.com/ply-ui-ng/ply/blob/main/LICENSE.md
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # ply-ui-mcp
2
+
3
+ MCP server for **Ply** at [ply-ui.com](https://ply-ui.com). Coding agents can list, search, and install copy-in Angular + Tailwind components through typed tools.
4
+
5
+ This is **not** [MUI Base UI](https://base-ui.com) (React). The npm name `base-ui-mcp` is a different, unrelated package.
6
+
7
+ The CLI remains the installer: `npx ply-ui-cli`. This server wraps that CLI and the public registry.
8
+
9
+ `npx -y base-ui-ng-mcp` still forwards here during the deprecation window. Use `npx -y ply-ui-mcp` for new configs.
10
+
11
+ Docs: [Getting started — AI agents](https://ply-ui.com/getting-started/#ai-agents-mcp)
12
+
13
+ ## Setup (stdio)
14
+
15
+ Use this in Cursor, Claude Code / Desktop, Kimi, VS Code, Windsurf, and other local MCP hosts:
16
+
17
+ ```json
18
+ {
19
+ "mcpServers": {
20
+ "ply": {
21
+ "command": "npx",
22
+ "args": ["-y", "ply-ui-mcp"],
23
+ "env": {
24
+ "PLY_CWD": "${workspaceFolder}"
25
+ }
26
+ }
27
+ }
28
+ }
29
+ ```
30
+
31
+ | Client | Where to put it |
32
+ |--------|-----------------|
33
+ | **Cursor** | `.cursor/mcp.json` or `~/.cursor/mcp.json` |
34
+ | **VS Code / Copilot** | `.vscode/mcp.json` or MCP settings |
35
+ | **Windsurf** | MCP / Cascade settings |
36
+ | **Claude Desktop** | Claude Desktop MCP config |
37
+ | **Claude Code** | `claude mcp add --transport stdio ply -- npx -y ply-ui-mcp` |
38
+ | **Kimi Code CLI** | `kimi mcp add --transport stdio ply -- npx -y ply-ui-mcp` |
39
+
40
+ Set `PLY_CWD` to the **app root** (the folder with `base-ui.json`), not this library’s repo. For `add` / `init` / `update` / `doctor` / `diff`, run `npx ply-ui-cli init --yes` in that app first.
41
+
42
+ ## Streamable HTTP
43
+
44
+ ChatGPT and Gemini chat apps need a URL, not stdio. The hosted catalog is:
45
+
46
+ **`https://mcp.ply-ui.com/mcp`**
47
+
48
+ 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).
49
+
50
+ Self-host the same process:
51
+
52
+ ```bash
53
+ npx -y ply-ui-mcp --http --host 0.0.0.0 --read-only
54
+ ```
55
+
56
+ Point a self-hosted connector at `https://your-host/mcp`. Health is `GET /`. MCP is `POST`/`GET` `/mcp`.
57
+
58
+ `--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`.
59
+
60
+ | Flag / env | Default | Meaning |
61
+ |------------|---------|---------|
62
+ | `--http` / `PLY_MCP_HTTP=1` | off | Streamable HTTP instead of stdio |
63
+ | `--read-only` / `PLY_MCP_READ_ONLY=1` | off | Catalog tools only |
64
+ | `--port` / `PORT` / `PLY_MCP_PORT` | `3334` | Listen port |
65
+ | `--host` / `PLY_MCP_HOST` | `127.0.0.1` | Bind address (`0.0.0.0` behind a proxy) |
66
+ | `PLY_MCP_AUTH_TOKEN` | unset | Optional `Authorization: Bearer …` on `/mcp` (`BASE_UI_MCP_AUTH_TOKEN` still works) |
67
+ | `PLY_LICENSE_KEY` | unset | Lets `add_components` install Pro items (`BASE_UI_LICENSE_KEY` still works) |
68
+
69
+ Self-host only if you need a private URL; put HTTPS in front of that process.
70
+
71
+ ## Tools
72
+
73
+ Aliases such as `sheet` → `drawer` and `carousel` → `slider` work on search, add, diff, and update.
74
+
75
+ ### `list_components`
76
+
77
+ ```json
78
+ { "tier": "free", "category": "component", "q": "button" }
79
+ ```
80
+
81
+ ### `get_component`
82
+
83
+ ```json
84
+ { "name": "card", "includeSource": false }
85
+ ```
86
+
87
+ Metadata always. Free source only when `includeSource` is true. Pro source is never returned through MCP.
88
+
89
+ ### `search_components`
90
+
91
+ ```json
92
+ { "query": "dialog modal", "tier": "free", "limit": 10 }
93
+ ```
94
+
95
+ ### `add_components`
96
+
97
+ ```json
98
+ { "names": ["button", "card"], "cwd": "/path/to/your-app" }
99
+ ```
100
+
101
+ Runs `ply-ui-cli add --yes`. Pro names need `PLY_LICENSE_KEY` on the MCP process (or `licenseKey` on the tool).
102
+
103
+ ### `init_project`
104
+
105
+ ```json
106
+ { "cwd": "/path/to/your-app" }
107
+ ```
108
+
109
+ Runs `ply-ui-cli init --yes`. Writes `base-ui.json`, styles, icons, and editor rules when those files are missing.
110
+
111
+ ### `doctor`
112
+
113
+ ```json
114
+ { "cwd": "/path/to/your-app" }
115
+ ```
116
+
117
+ Read-only. `isError` is set when `ply-ui-cli doctor` exits non-zero.
118
+
119
+ ### `diff_components`
120
+
121
+ ```json
122
+ { "names": ["card"], "cwd": "/path/to/your-app" }
123
+ ```
124
+
125
+ Omit `names` (or pass `[]`) to diff every tracked component. Read-only.
126
+
127
+ ### `update_components`
128
+
129
+ ```json
130
+ { "names": ["card"], "cwd": "/path/to/your-app", "force": false, "overwriteLocal": false, "merge": false }
131
+ ```
132
+
133
+ 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.
134
+
135
+ ## Resources
136
+
137
+ | URI | Description |
138
+ |-----|-------------|
139
+ | `ply-ui://registry/index` | Public registry index JSON |
140
+ | `ply-ui://docs/llms` | Live `llms.txt` |
141
+ | `ply-ui://docs/catalog` | Live AI component catalog |
142
+ | `ply-ui://docs/cursor-rules` | Cursor / Windsurf project rule |
143
+ | `ply-ui://docs/snippets` | VS Code / Cursor usage snippets |
144
+ | `ply-ui://component/{name}` | Per-component metadata (no Pro source) |
145
+
146
+ <!-- answer-bank-faq:start -->
147
+ ## FAQ
148
+
149
+ Canonical answers, also at [https://ply-ui.com/faq/](https://ply-ui.com/faq/). Use this wording.
150
+
151
+ **What is Ply?**
152
+ Ply — ply-ui.com — is a CLI-first Angular + Tailwind CSS component library with 215 components and blocks (125 free), delivered shadcn-style: npx ply-ui-cli add <name> copies the TypeScript/HTML source into your project, where you own and edit it. There is no npm library package.
153
+
154
+ **Is Ply the same as MUI's Base UI?**
155
+ 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.
156
+
157
+ **Is Ply a shadcn for Angular?**
158
+ 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.
159
+
160
+ **Is Ply free?**
161
+ 125 items are free — every UI primitive, all 19 form blocks, directives, services, utilities — with no account required. 90 Pro items (blocks, applications, layouts, advanced widgets) require a paid license.
162
+
163
+ **How much does Ply Pro cost?**
164
+ 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.
165
+
166
+ **How do I install a component?**
167
+ npx ply-ui-cli init once per project, then npx ply-ui-cli add <name>. 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/<name>/ by default and are yours.
168
+
169
+ **How do I verify my Ply setup?**
170
+ Run npx ply-ui-cli doctor. It checks base-ui.json, the Angular workspace, @angular/cdk, Tailwind v4 @source paths, the base-ui.css import, icon sprites, and the components directory — read-only, nothing is written.
171
+
172
+ **Can AI agents install Ply?**
173
+ 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 Streamable HTTP: npx -y ply-ui-mcp --http --read-only (catalog tools) or local --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.
174
+
175
+ **What is the risk if Ply disappears?**
176
+ Near zero. Installed code is in your version control with no runtime dependency; deleting the CLI changes nothing about your app.
177
+
178
+ More: [https://ply-ui.com/faq/](https://ply-ui.com/faq/) · [https://ply-ui.com/enterprise-faq/](https://ply-ui.com/enterprise-faq/) · [https://ply-ui.com/compare/](https://ply-ui.com/compare/)
179
+ <!-- answer-bank-faq:end -->
180
+
181
+ ## License
182
+
183
+ MIT for this MCP server package only. Components installed via the registry remain under the Ply license — see the [repo LICENSE](https://github.com/ply-ui-ng/ply/blob/main/LICENSE.md).
184
+
185
+ ## Support
186
+
187
+ Bugs and feature requests: [github.com/ply-ui-ng/ply/issues](https://github.com/ply-ui-ng/ply/issues). Email support@ply-ui.com.