Skip to main content
Glama
UI Kit Aggregator MCP
by Faixiang
README.md
<p align="center">
  <img alt="UI Kit Aggregator MCP" src="docs/assets/cover.svg" width="100%">
</p>

<h4 align="center">
  <a href="#為什麼要做這個">為什麼做這個</a> |
  <a href="#特色">特色</a> |
  <a href="#八個來源">來源</a> |
  <a href="#許可證門禁">門禁</a> |
  <a href="#快速開始">快速開始</a>
</h4>

<div align="center">
  <h2>
    給 AI 程式設計助手用的 UI/動效目錄聚合服務。<br />
    搜尋 8 個官方來源,每一條都先過許可證門禁再交給助手。
  </h2>
</div>

<p align="center">
  <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
  <img alt="Node.js 20+" src="https://img.shields.io/badge/Node.js-20+-339933?logo=node.js&logoColor=white">
  <img alt="Model Context Protocol" src="https://img.shields.io/badge/MCP-Model%20Context%20Protocol-412991">
</p>

<div align="center">
  <figure>
    <img alt="先搜尋,再過門禁,最後才把允許的內容交給助手" src="docs/assets/how-it-works.svg" width="100%">
    <figcaption>
      <p align="center">先搜尋,再過門禁,最後才把允許的內容交給助手。</p>
    </figcaption>
  </figure>
</div>

## 為什麼要做這個

用 AI 做網站時,常常需要現成的按鈕、版面、文字動畫或整頁設計提示。這些材料已經存在,只是分散在不同官方目錄裡,授權條件也不一樣。

如果助手略過這些差異,就可能用錯授權、取到不該取的付費內容,或在授權不明時仍然把原始碼帶出來。這個服務把「搜尋」和「許可證檢查」做成同一條路:先搜,再決定可不可以取用。沒有付費金鑰時,免費目錄仍可正常使用。

本專案不擁有這 8 個目錄,只從官方介面取內容,不會把整庫鏡像下來。

## 特色

- 🔍 一次搜尋 8 個官方 UI/動效目錄
- 🚪 同一套許可證門禁,沒有跳過檢查的參數
- 🆓 沒有金鑰也能使用免費目錄
- 🔑 遇到付費內容會先詢問,不會默默失敗或偷偷略過
- 📦 回傳官方安裝方式、文件摘錄或可用原始碼
- ⚖️ 會區分最終產品使用與再分發

## 八個來源

- **MotionSites**:概念站整頁設計提示詞。本服務只提供官方入口,不返回鎖定的提示詞正文。
- **React Bits**:可複製貼上的 React 動畫元件。免費目錄為 MIT + Commons Clause;Pro 需要 `REACTBITS_LICENSE_KEY`。
- **Uiverse**:社群 HTML、CSS、Tailwind 和 React 小部件,許可證一般為 MIT。
- **Anime.js**:輕量 JavaScript 動畫引擎及其官方文件,許可證為 MIT。
- **Aceternity UI**:偏進階視覺效果的 React 與 Tailwind 元件。免費目錄可直接取用;All-Access 需要 `ACETERNITY_PRO_TOKEN`。
- **Motion Prompt**:動畫、鏡頭運動與頁面轉場的提示詞庫,許可證為 MIT。
- **Cult UI**:官方 registry 中的 React/shadcn 風格元件,許可證為 MIT。
- **Magic UI**:官方免費/MIT 目錄中的動畫元件。Magic UI Pro 不是本服務的來源,會被直接攔截。

## 提供哪些工具

- `list_sources`:列出全部來源、專長、許可證摘要,以及需要哪些環境變數。
- `search_ui_kits`:在全部或指定來源中搜尋。這是最常用的入口。
- `get_item`:取選定項目的文件摘錄、官方示例或元件原始碼。
- `get_license`:只查看條款、署名和聲明文本。
- `check_compliance`:檢查擬定用途是否合規,例如用在客戶行銷網站,或再發佈成元件庫。

典型流程是:你向助手描述需要什麼,助手用 `search_ui_kits` 搜尋,再對選定的那一條呼叫 `get_item`。

## 許可證門禁

每一條內容都必須經過門禁,才能帶正文離開工具。

- `allowed`:許可證明確且用途允許,返回正文。
- `flagged`:還有額外義務(例如第三方字體聲明)。正文仍可返回,原聲明必須保留。
- `blocked`:攔截並省略正文,只保留原因和條款連結。
- `needs_token`:缺少所需金鑰。助手會問你要設定金鑰還是跳過,不會在工具呼叫裡收集金鑰。

官方註冊/取得金鑰:

- Aceternity All-Access:[定價](https://ui.aceternity.com/pricing)、[Pro](https://ui.aceternity.com/pro)、[金鑰頁](https://ui.aceternity.com/dashboard/token)
- React Bits Pro:[Pro](https://www.reactbits.dev/pro)、[安裝說明](https://pro.reactbits.dev/docs/installation)

以下情況一律是 `blocked`,不會改成「要不要加金鑰」:許可證無法確定、MotionSites 的提示詞正文、Magic UI Pro,以及不允許的再分發(例如把元件再發佈成元件庫,或出售模板包)。

「用在客戶行銷網站」一般視為最終產品,通常可以;「再發佈為元件庫」或「出售模板包」屬於再分發,會被攔截。

## 快速開始

需要 Node.js 20 或更新版本。

```bash
git clone https://github.com/Faixiang/UI-Kit-Aggregator-MCP
cd UI-Kit-Aggregator-MCP
npm install
npm start
```

預設透過標準輸入輸出(stdio)提供服務。在 Cursor 的 MCP 設定(專案內常見為 `.cursor/mcp.json`)或 Claude Code 的 `.mcp.json` 中加入:

```json
{
  "mcpServers": {
    "ui-kit-aggregator": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}
```

請把 `args` 換成你本機 `dist/index.js` 的實際路徑,然後重載 MCP 或重啟客戶端。

若要在本機開 HTTP 服務:

```bash
MCP_TRANSPORT=http npm start
```

預設監聽 `http://127.0.0.1:3847/mcp`,健康檢查為 `/health`。不要在已載入付費金鑰時,把這個連接埠暴露到公網。

可選環境變數請只放在本機環境或 MCP 設定的 `env` 中,不要寫進倉庫,也不要發到聊天裡:

- `ACETERNITY_PRO_TOKEN`:未設定時,Aceternity 免費目錄仍可用。
- `REACTBITS_LICENSE_KEY`:未設定時,React Bits 免費目錄仍可用。
- `GITHUB_TOKEN`:可改善 Uiverse 的標籤搜尋,通常只需公開倉庫權限。

## 授權

本專案程式碼以 [MIT](LICENSE) 授權。各來源的內容仍歸屬於原本的作者與許可證,詳見 [NOTICE](NOTICE) 與 [LICENSES.md](LICENSES.md)。

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a recognizable role in a discover→inspect→fetch→verify pipeline: list_sources, search_ui_kits, get_item, get_license, check_compliance. The only soft overlap is between get_license (reads license metadata) and check_compliance (judges a proposed use), which an agent could confuse when asking 'can I use this?'. The near-identical boilerplate text repeated in every description also makes the tools harder to skim apart, even though the core actions differ.

Naming Consistency5/5

All five names follow a clean verb_noun snake_case pattern (list_sources, get_license, search_ui_kits, get_item, check_compliance). Verbs are chosen distinctly per action rather than reused vaguely. Fully predictable.

Tool Count5/5

Five tools is well-scoped for a read-only aggregator: discover sources, search, fetch an item, read license, check compliance. No tool feels redundant or filler, and nothing essential is obviously missing from the count itself.

Completeness4/5

The surface covers the full lifecycle for a licensed UI-kit catalog: list sources, search with filters, fetch an item, inspect license, and gate usage via compliance. Minor gaps include no per-source browse/index tool (you must search blind with a query) and no token-status check tool, so agents must probe by fetching.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues