aura-components-mcp 1.5.2
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 +21 -0
- package/README.md +128 -0
- package/SETUP.md +118 -0
- package/dist/server.js +786 -0
- package/flow/app.js +40 -0
- package/flow/b-compare.html +1 -0
- package/flow/b-docs.html +1 -0
- package/flow/b-how.html +1 -0
- package/flow/b-index.html +1 -0
- package/flow/b-setup.html +4 -0
- package/flow/b-tools.html +1 -0
- package/flow/compare.html +26 -0
- package/flow/docs.html +26 -0
- package/flow/hero-c.html +1 -0
- package/flow/how.html +26 -0
- package/flow/index.html +26 -0
- package/flow/logo-c.html +1 -0
- package/flow/setup.html +29 -0
- package/flow/shell-a.html +7 -0
- package/flow/shell-b.html +7 -0
- package/flow/shell-c.html +12 -0
- package/flow/styles.css +87 -0
- package/flow/tools.html +26 -0
- package/package.json +53 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 swastiksingh-dev
|
|
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 deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
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 all
|
|
13
|
+
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 FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# aura-components-mcp
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/aura-components-mcp) [](https://www.npmjs.com/package/aura-components-mcp) [](./LICENSE) [](./package.json) [](./dist/server.js)
|
|
4
|
+
|
|
5
|
+
I got tired of opening twenty Aura tabs every time I started a landing page. So I built the MCP server I wanted: every free thing on aura.build, one stdio call away, no account, no key, no browser.
|
|
6
|
+
|
|
7
|
+
> **v1.5.0** — 20 tools. Search never empties (OR-token fallback + suggested queries), bulk-fetch with `aura_bulk_fetch` (`aura_bundle` alias),undle`, one-turn page builds with `aura_scaffold_page`, dark/light faceting, related items, legal asset install.
|
|
8
|
+
|
|
9
|
+
Point any MCP client at `dist/server.js` and your agent can search 2,495 free components, read 187 agent skills in full, pull 30,688 assets, and apply 725 DESIGN.md systems. It answers in seconds because there is nothing to log into and almost nothing to download: one bundled JS file, zero dependencies.
|
|
10
|
+
|
|
11
|
+
Built by [swastiksingh-dev](https://github.com/swastiksingh-dev). Catalogue content belongs to Aura (aura.build, by Meng To / DesignCode). This project is not affiliated with Aura.
|
|
12
|
+
|
|
13
|
+
## Why I built this instead of using the official MCP
|
|
14
|
+
|
|
15
|
+
Aura already ships an official MCP at `https://mcp.aura.build/mcp`. It is good at what it does: your Canvases, your projects, publishing, all behind OAuth. This server does the other half. It covers the public catalogue, and it skips the parts that slow an agent down: no OAuth dance, no account, no per-project scopes. A few things the official one does not do:
|
|
16
|
+
|
|
17
|
+
- `aura_install_component` tells the agent exactly how to paste a component: which CDN scripts it needs, which fonts it references, which file to put it in.
|
|
18
|
+
- `aura_use_design_system` hands back a `:root` token starter plus the copy order (tokens first, markup second).
|
|
19
|
+
- `aura_trending` and `aura_categories` show what is new and where the free catalogue is deepest, with live counts.
|
|
20
|
+
- `aura_recommend` builds a starter kit across all four surfaces in one parallel call.
|
|
21
|
+
- Everything defaults to free. Pro rows never sneak into results.
|
|
22
|
+
|
|
23
|
+
## What is inside
|
|
24
|
+
|
|
25
|
+
- 2,495 free components with HTML/Tailwind source, preview images, tags, and author credit
|
|
26
|
+
- 187 agent skills with full SKILL.md bodies (GSAP, Tailwind v4, Anime.js, copywriting, and more)
|
|
27
|
+
- 30,688 images and clips with direct CDN URLs at multiple widths
|
|
28
|
+
- 725 DESIGN.md systems with tokens, type rules, layout notes, and preview HTML
|
|
29
|
+
- 20 tools over stdio, one 48KB bundle, 60-second LRU cache (300 keys) with request coalescing, author memo, category-count cache, retries with jittered backoff
|
|
30
|
+
- Never-empty search: AND-phrase misses retry as OR-tokens (2 passes) with `fallback` + `suggested_queries` on every surface
|
|
31
|
+
- Agent accelerators: `aura_bulk_fetch`/`aura_bundle` (8 details/turn, any of 3 kinds), `aura_scaffold_page` (tokens + system + markup in dependency order), `aura_related`, `aura_install_asset` (license-aware)
|
|
32
|
+
- Faceted lists: every component carries `facets { theme, weight, code_chars, needsTailwind, needsIcons, fonts }`; filter `theme: dark|light` server-side
|
|
33
|
+
|
|
34
|
+
Start with `aura_status`, then `aura_search_all`. That order matters: status confirms the catalogue is reachable, search_all shows which surface has the best match before you spend calls on details.
|
|
35
|
+
|
|
36
|
+
## Install
|
|
37
|
+
|
|
38
|
+
Needs Node 18 or newer. No other dependency.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
git clone https://github.com/swastiksingh-dev/aura-components-mcp.git
|
|
42
|
+
cd aura-components-mcp
|
|
43
|
+
npm run build
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Then register it in your client. Full per-client steps live in [SETUP.md](./SETUP.md): Claude Code, Cursor, Codex, Windsurf, OpenCode, Cline, Roo Code, DeepSeek Harness, generic stdio. Launch site with animated explainer: open `flow/index.html` in a browser.
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Claude Code
|
|
50
|
+
claude mcp add aura-components -- node ./dist/server.js
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
// Cursor, Windsurf, and most others (~/.cursor/mcp.json or equivalent)
|
|
55
|
+
{ "mcpServers": { "aura-components": { "command": "node", "args": ["./dist/server.js"] } } }
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
// OpenCode (opencode.json) — see https://opencode.ai/docs/mcp-servers
|
|
60
|
+
{ "$schema": "https://opencode.ai/config.json", "mcp": { "aura-components": { "type": "local", "command": ["node", "./dist/server.js"], "enabled": true } } }
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Demo
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<video src="https://raw.githubusercontent.com/swastiksingh-dev/Aura-Components-MCP/main/assets/heart-demo.mp4" controls autoplay muted loop playsinline width="100%">Watch the 10-second flow tour (MP4, 1918x936, ~8MB) — same file as <a href="./assets/heart-demo.mp4">assets/heart-demo.mp4</a></video>
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
|
|
71
|
+
*The flow/ launch site: dark WebGL hero, 19 grouped tools, one-minute setup. `aura_recommend` turns one sentence into a starter kit with links. Full clip in [`assets/`](assets/).*
|
|
72
|
+
|
|
73
|
+
## The 20 tools
|
|
74
|
+
|
|
75
|
+
| Tool | What it returns |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| `aura_status` | Reachability plus live free counts. Call it first. |
|
|
78
|
+
| `aura_search_components` | Free components by text, category, `theme: dark\|light`, sort. Facets on every row, ~0.6KB each. |
|
|
79
|
+
| `aura_get_component` | One component in full: markup, style block, preview, author, page URL. |
|
|
80
|
+
| `aura_install_component` | The same component plus a paste plan: CDN scripts, fonts, steps, file map. |
|
|
81
|
+
| `aura_search_skills` | Skill metadata (title, description, source repo, views). |
|
|
82
|
+
| `aura_get_skill` | The whole SKILL.md body. This is the one agents actually build from. |
|
|
83
|
+
| `aura_install_skill` | Where to save SKILL.md so the agent can load it, plus upstream link. |
|
|
84
|
+
| `aura_search_assets` | Images and clips by keyword, media type filter included. Slim rows (no 4K URLs until install). |
|
|
85
|
+
| `aura_install_asset` | Legal drop-in: download + preview URLs, license (all-rights-reserved per [Aura Terms §4](https://www.aura.build/terms)), file path. |
|
|
86
|
+
| `aura_search_design_systems` | DESIGN.md metadata: title, description, views, author. |
|
|
87
|
+
| `aura_get_design_system` | Full DESIGN.md content plus preview HTML. |
|
|
88
|
+
| `aura_use_design_system` | Token starter CSS plus the order to apply things in. |
|
|
89
|
+
| `aura_search_all` | All four surfaces in parallel. Never empties (fallback + suggestions). |
|
|
90
|
+
| `aura_recommend` | A starter kit for a goal sentence, with links and a short rationale. |
|
|
91
|
+
| `aura_trending` | 90-day leaders per surface, one call. |
|
|
92
|
+
| `aura_categories` | The 13 component categories with live free counts. |
|
|
93
|
+
| `aura_bundle` / `aura_bulk_fetch` | 2–8 details in one call (components/design_systems/assets). Per-item errors never fail the batch. |
|
|
94
|
+
| `aura_scaffold_page` | One-turn page build: tokens.css + system preview + markup in order, combined deps + files. |
|
|
95
|
+
| `aura_related` | 3 more-like-this per item. Discovery never dead-ends. |
|
|
96
|
+
|
|
97
|
+
Every row carries `page_url` (open it to see the design) and `author` where Aura credits one.
|
|
98
|
+
|
|
99
|
+
## How I use it
|
|
100
|
+
|
|
101
|
+
New landing page, dark cinematic portfolio, SaaS pricing section. The shape is the same each time:
|
|
102
|
+
|
|
103
|
+
1. `aura_recommend` with the goal sentence. Skim the starter kit links.
|
|
104
|
+
2. `aura_get_component` on two or three finalists. Read the markup, not just the description.
|
|
105
|
+
3. `aura_install_component` on the winner. Follow the file map.
|
|
106
|
+
4. `aura_use_design_system` once, before any markup, so tokens land first.
|
|
107
|
+
|
|
108
|
+
Prompts that work well are in [SETUP.md](./SETUP.md#prompts-that-work).
|
|
109
|
+
|
|
110
|
+
## Free only, no login
|
|
111
|
+
|
|
112
|
+
There is no auth in this server. No OAuth, no API key to paste, no account to create. Reads go to the same public catalogue endpoints the Aura website uses. The `premium` flag stays on every component row, free-only is the default, and `aura_install_component` refuses Pro ids instead of guessing. If Aura rotates its public key, set `AURA_SUPABASE_ANON_KEY` and rebuild; nothing else changes.
|
|
113
|
+
|
|
114
|
+
Optional tuning (env vars, all with defaults): `AURA_TIMEOUT_MS` (12000), `AURA_RETRIES` (2), `AURA_CACHE_TTL_MS` (60000, 0 disables), `AURA_DEFAULT_LIMIT` (10), `AURA_MAX_LIMIT` (25), `AURA_CODE_CHARS` / `AURA_CONTENT_CHARS` (12000), `AURA_FREE_ONLY_DEFAULT` (true).
|
|
115
|
+
|
|
116
|
+
## Develop
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm test # 20 hermetic tests, no network
|
|
120
|
+
npm run verify # 18 live checks against the real catalogue
|
|
121
|
+
npm run build # rebundle src/*.mjs into dist/server.js
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Layout: `src/config.mjs` holds env parsing. `src/http.mjs` hides timeouts and retries behind an injectable fetch. `src/catalog.mjs` is the deep module (queries, cache, shaping, counts). `src/guide.mjs` turns rows into install plans. `src/tools.mjs` validates args. `src/protocol.mjs` speaks JSON-RPC. `src/server.mjs` only wires stdio.
|
|
125
|
+
|
|
126
|
+
## Credits and license
|
|
127
|
+
|
|
128
|
+
Server code by [swastiksingh-dev](https://github.com/swastiksingh-dev), MIT. Free to fork, use, and sell with. Catalogue text, code, and images belong to Aura and the creators listed in each `author` field; follow Aura's terms for that content. If you fork this, keep the credit line and point people at the original repo.
|
package/SETUP.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Setup
|
|
2
|
+
|
|
3
|
+
One server, every client below. No account, no key, nothing to log into. If Node 18+ runs `node ./dist/server.js`, the client can use this.
|
|
4
|
+
|
|
5
|
+
Build once:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git clone https://github.com/swastiksingh-dev/aura-components-mcp.git
|
|
9
|
+
cd aura-components-mcp
|
|
10
|
+
npm run build
|
|
11
|
+
node ./dist/server.js # prints: aura-components-mcp v1.0.0 listening on stdio (Ctrl+C to stop)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
If that last line prints, the server works. Everything below just points a client at the same file.
|
|
15
|
+
|
|
16
|
+
## Claude Code
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
claude mcp add aura-components -- node ./dist/server.js
|
|
20
|
+
claude mcp list # confirm aura-components shows up
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Then in a session: `Check aura_status, then find free hero components for a SaaS landing page.`
|
|
24
|
+
|
|
25
|
+
## Cursor
|
|
26
|
+
|
|
27
|
+
Add to `~/.cursor/mcp.json` (create it if missing):
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"aura-components": { "command": "node", "args": ["/absolute/path/to/aura-components-mcp/dist/server.js"] }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Restart Cursor. Open Composer, pick the aura tools, same first prompt as above.
|
|
38
|
+
|
|
39
|
+
## Codex
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
codex mcp add aura-components -- node ./dist/server.js
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Then: `Use aura_search_all for "pricing section" (free only) and compare the top hits.`
|
|
46
|
+
|
|
47
|
+
## Windsurf
|
|
48
|
+
|
|
49
|
+
Add the same block Cursor uses to Windsurf's MCP config (`~/.codeium/windsurf/mcp_config.json`):
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"mcpServers": {
|
|
54
|
+
"aura-components": { "command": "node", "args": ["/absolute/path/to/aura-components-mcp/dist/server.js"] }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Restart Windsurf, open Cascade, allow the server when asked.
|
|
60
|
+
|
|
61
|
+
## Cline (VS Code)
|
|
62
|
+
|
|
63
|
+
1. Open Cline settings, MCP Servers section.
|
|
64
|
+
2. Add server: command `node`, arg `/absolute/path/to/aura-components-mcp/dist/server.js`, name `aura-components`.
|
|
65
|
+
3. It lists 15 tools starting with `aura_`. Approve them once.
|
|
66
|
+
|
|
67
|
+
## Roo Code (VS Code)
|
|
68
|
+
|
|
69
|
+
Same as Cline: Add MCP server, command `node`, args `["/absolute/path/to/aura-components-mcp/dist/server.js"]`. Roo shows the 15 `aura_` tools in its tool list after reload.
|
|
70
|
+
|
|
71
|
+
## DeepSeek Harness
|
|
72
|
+
|
|
73
|
+
This repo was built inside it. Register the server the same stdio way:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node ./dist/server.js
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
as a stdio MCP entry (command `node`, args `dist/server.js`), or run `npm run verify` first to watch all 18 live checks pass before wiring it in.
|
|
80
|
+
|
|
81
|
+
## OpenCode
|
|
82
|
+
|
|
83
|
+
Add to `opencode.json` (or `opencode.jsonc`) in your project root or `~/.config/opencode/` (see [opencode.ai/docs/mcp-servers](https://opencode.ai/docs/mcp-servers)):
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"$schema": "https://opencode.ai/config.json",
|
|
88
|
+
"mcp": {
|
|
89
|
+
"aura-components": {
|
|
90
|
+
"type": "local",
|
|
91
|
+
"command": ["node", "/absolute/path/to/aura-components-mcp/dist/server.js"],
|
|
92
|
+
"enabled": true
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Restart OpenCode (or run `/mcp` to reload). The 15 `aura_*` tools show up in the TUI. Same first prompt as Claude Code above. A copy-paste file lives at `examples/opencode.json`.
|
|
99
|
+
|
|
100
|
+
## Any other MCP client
|
|
101
|
+
|
|
102
|
+
Transport is stdio, no auth. Command `node`, args `["/absolute/path/to/aura-components-mcp/dist/server.js"]`. The handshake is standard MCP (`initialize`, `tools/list`, `tools/call`). If the client asks for env, leave it empty; tuning vars are optional (see README).
|
|
103
|
+
|
|
104
|
+
## Prompts that work
|
|
105
|
+
|
|
106
|
+
- `Check aura_status. Then recommend a starter kit for a dark cinematic portfolio (free only).`
|
|
107
|
+
- `Search free pricing components, get the top two in full, and tell me which pastes cleaner into Tailwind.`
|
|
108
|
+
- `Which skill covers GSAP ScrollTrigger pin and scrub? Fetch it in full and apply the pinned-section recipe.`
|
|
109
|
+
- `Show trending free components and skills from the last 7 days.`
|
|
110
|
+
- `List categories with counts, then search the deepest free one for a landing page hero.`
|
|
111
|
+
|
|
112
|
+
## Troubleshooting
|
|
113
|
+
|
|
114
|
+
- Server exits instantly: check `node --version` (needs 18+), then `npm run build` again.
|
|
115
|
+
- Client shows 0 tools: absolute path wrong, or the client needs a restart after config edit.
|
|
116
|
+
- `upstream` errors on every call: outbound network blocked. `npm run verify` from the same machine tells you in seconds.
|
|
117
|
+
- Counts look stale: 60-second cache. Wait a minute or set `AURA_CACHE_TTL_MS=0`.
|
|
118
|
+
- A component says Pro: `aura_install_component` refuses it on purpose. Search returns free rows by default.
|