Skip to main content
Glama
swastiksingh-dev

aura-components-mcp

README.md
# aura-components-mcp

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.

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.

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.

## Why I built this instead of using the official MCP

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:

- `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.
- `aura_use_design_system` hands back a `:root` token starter plus the copy order (tokens first, markup second).
- `aura_trending` and `aura_categories` show what is new and where the free catalogue is deepest, with live counts.
- `aura_recommend` builds a starter kit across all four surfaces in one parallel call.
- Everything defaults to free. Pro rows never sneak into results.

## What is inside

- 2,495 free components with HTML/Tailwind source, preview images, tags, and author credit
- 187 agent skills with full SKILL.md bodies (GSAP, Tailwind v4, Anime.js, copywriting, and more)
- 30,688 images and clips with direct CDN URLs at multiple widths
- 725 DESIGN.md systems with tokens, type rules, layout notes, and preview HTML
- 15 tools over stdio, one 34KB bundle, 60-second LRU cache (300 keys) with request coalescing, author memo, category-count cache, retries with jittered backoff

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.

## Install

Needs Node 18 or newer. No other dependency.

```bash
git clone https://github.com/swastiksingh-dev/aura-components-mcp.git
cd aura-components-mcp
npm run build
```

Then register it in your client. Full per-client steps live in [SETUP.md](./SETUP.md): Claude Code, Cursor, Codex, Windsurf, Cline, Roo Code, DeepSeek Harness, generic stdio. Launch site with animated explainer: open `flow/index.html` in a browser.

```bash
# Claude Code
claude mcp add aura-components -- node ./dist/server.js
```

```json
// Cursor, Windsurf, and most others (~/.cursor/mcp.json or equivalent)
{ "mcpServers": { "aura-components": { "command": "node", "args": ["./dist/server.js"] } } }
```

## The 15 tools

| Tool | What it returns |
| --- | --- |
| `aura_status` | Reachability plus live free counts. Call it first. |
| `aura_search_components` | Free components by text query, category, sort. No blobs, so lists stay small. |
| `aura_get_component` | One component in full: markup, style block, preview, author, page URL. |
| `aura_install_component` | The same component plus a paste plan: CDN scripts, fonts, steps, file map. |
| `aura_search_skills` | Skill metadata (title, description, source repo, views). |
| `aura_get_skill` | The whole SKILL.md body. This is the one agents actually build from. |
| `aura_install_skill` | Where to save SKILL.md so the agent can load it, plus upstream link. |
| `aura_search_assets` | Images and clips by keyword, media type filter included. |
| `aura_search_design_systems` | DESIGN.md metadata: title, views, author. |
| `aura_get_design_system` | Full DESIGN.md content plus preview HTML. |
| `aura_use_design_system` | Token starter CSS plus the order to apply things in. |
| `aura_search_all` | All four surfaces in parallel. Best first search for a new task. |
| `aura_recommend` | A starter kit for a goal sentence, with links and a short rationale. |
| `aura_trending` | Last-7-days leaders per surface, one call. |
| `aura_categories` | The 13 component categories with live free counts. |

Every row carries `page_url` (open it to see the design) and `author` where Aura credits one.

## How I use it

New landing page, dark cinematic portfolio, SaaS pricing section. The shape is the same each time:

1. `aura_recommend` with the goal sentence. Skim the starter kit links.
2. `aura_get_component` on two or three finalists. Read the markup, not just the description.
3. `aura_install_component` on the winner. Follow the file map.
4. `aura_use_design_system` once, before any markup, so tokens land first.

Prompts that work well are in [SETUP.md](./SETUP.md#prompts-that-work).

## Free only, no login

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.

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).

## Develop

```bash
npm test      # 12 hermetic tests, no network
npm run verify  # 18 live checks against the real catalogue
npm run build   # rebundle src/*.mjs into dist/server.js
```

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.

## Credits and license

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.

TDQS

B3.3/5.0

Scored across 15 tools

Disambiguation5/5

Each tool has a distinct action/resource: status, per-type search/get, cross-catalogue search/recommend/trending, install/use helpers, and categories. The aggregate tools (search_all, recommend, trending) overlap in breadth but are differentiated by intent and description, so misselection is unlikely.

Naming Consistency4/5

All tools use the aura_ prefix and snake_case, with clear noun/verb components. Most follow verb_noun (search_components, get_skill, install_component), but a few are noun-only (status, trending, categories), a minor deviation.

Tool Count5/5

15 tools cover four resource types plus discovery, recommendation, installation, and usage helpers. This is at the upper end of the ideal 3–15 range but each tool maps to a distinct workflow step, so no filler is apparent.

Completeness4/5

The surface supports discovery, retrieval, recommendation, installation, and application across components, skills, and design systems. Assets only have search (no get/install detail), and there is no generic asset download/apply tool, a minor gap for a read-only catalogue.

Maintenance

ActivityMaintained
ResponsivenessNo issues