Cronus UI

io.github.pedrogbraz由 GitHub 帳號 pedrogbraz 發布v0.7.6更新於 Oct 24, 2026

Search, install, compose, add-page, and theme Cronus UI from the live registry.

已驗證Streamable HTTP可網頁執行檔案與儲存開發者工具

概覽

AI 產生的概覽

Cronus UI 讓助理瀏覽 Cronus UI 元件登錄檔、取得元件原始碼,並在既有專案中安裝、組合、設定主題與升級介面。

可以做什麼
列出與搜尋登錄檔:元件、區塊、精簡目錄卡片,以及依提示詞做雙查詢比對挑選項目,並可取得主題與外觀組合的設計規範檔案。取得詳情:依名稱回傳元件或區塊的完整原始碼、npm 與登錄檔相依套件以及安裝指令。安裝與升級:將元件或區塊原始碼寫入專案,並以三方合併方式升級、保留本機修改。組合與擴充:依範本組合多頁面應用程式、用區塊與導覽新增頁面,以及設定或套用主題。
適用情境
使用 Cronus UI 建置前端時,希望助理挑選合適的元件或區塊、取得原始碼,並在已初始化的專案內安裝或組合它們。託管的唯讀端點適合只需瀏覽目錄的雲端建置工具。
執行需求
使用託管的 Streamable HTTP 端點,或以 npx 執行本機 npm 套件(需要 Node.js)。寫入工具需要已用 cronus-ui.json 或至少 package.json 初始化的既有專案,並透過 bunx 或 npx 啟動固定版本的 cronus-ui CLI。選用環境變數 CRONUS_UI_REGISTRY、CRONUS_MCP_CLI_CMD 和 CRONUS_MCP_CLI_TIMEOUT_MS。需要存取登錄檔的網路。
安裝前請注意
寫入工具會修改專案:寫入元件檔案、安裝 npm 相依套件、組合應用程式、新增頁面和變更主題,並標示為破壞性操作。它不會建立新儲存庫,且除非設定 overwrite,已存在的檔案會被略過。CRONUS_MCP_CLI_CMD 和 CRONUS_UI_REGISTRY 可改變所用的 CLI 或登錄檔來源,只應指向可信來源。託管端點為唯讀。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cronus UI,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.pedrogbraz%2Fcronus-ui/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "cronus-ui": {
      "type": "http",
      "url": "https://aicronus.com/mcp"
    }
  }
}

README

cronus-ui-mcp

A Model Context Protocol (MCP) server for Cronus UI. It lets MCP-compatible AI agents and assistants discover, fetch, and install Cronus UI components and blocks straight from the registry — and compose full apps, add pages, set themes, and upgrade installed components and composed pages — so an agent can list what's available, search it, pull the exact source files, and grow the project it is working in along the product loop (compose → add-page → theme → upgrade), not just add button.

The MCP server does not scaffold a new app. Greenfield starts with npx create-cronus-app; write tools then operate inside that already-inited project.

It speaks MCP over stdio (local IDEs, full read + write) and over Streamable HTTP at https://aicronus.com/mcp (hosted, read-only catalog — cloud builders cannot spawn a local CLI). Both surfaces read the same registry the cronus-ui CLI installs from.

Official MCP Registry name: io.github.pedrogbraz/cronus-ui (stdio npm package plus the hosted remote). Setup for every client lives at aicronus.com/docs/mcp.

What it exposes

Read-only tools

ToolInputReturns
list_components—All installable components (registry:ui): name, title, tags, dependencies, and the install command.
list_blocks—All installable blocks (registry:block) — composed sections like hero, pricing, login, dashboard.
list_catalog{ kind?: component|block|variant|template }Compact Hydra-ready cards (description, design style, palette, motion, intents). No source files.
match_catalog{ query?, intent?, style?, palette?, motion?, kind?, limit? }Two-query match for low-context agents. query: "login page with smooth animation" infers intent + motion and returns pick / intent / motion hits.
search_registry{ query: string }Components and blocks whose name (or readable title) matches query (case-insensitive substring).
get_component{ name: string }Full detail for one component or block: source files (path + content), npm dependencies, registryDependencies, and the install command.
get_install_command{ names: string[] }The npx cronus-ui add ... command for one or more items.
get_design_context{ theme?: aurora|neutral|midnight|sunset|emerald, look?: default|brutalist|glass, format?: compact|extended }Cronus visual taste (DESIGN.md). Read this before generating UI.

These are annotated readOnlyHint: true — they never touch the project.

Write tools

ToolInputDoes
compose_app{ template: "saas"|"store"|"landing"|"landing-*"|"mail"|"chat"|"finance", brand?: string, dryRun?: boolean, yes?: boolean, skipInstall?: boolean, overwrite?: boolean, variant?: string[] }Runs cronus-ui compose <template> -y in the project (agents default to -y, which composes saas when no template is given). Optional --brand, --dry-run, --skip-install, --overwrite, and one --variant <slug=id> per variant entry. Prefer this over hand-writing pages when the user wants a full multi-page app from a validated template. Does not scaffold a new repo.
add_page{ route: string, blocks: string, nav?: string, title?: string, chrome?: string, dryRun?: boolean, skipInstall?: boolean, overwrite?: boolean, manifest?: string, app?: string }Runs cronus-ui add-page --route <route> --blocks <blocks> to grow an already-composed app by one page (installs blocks, writes the stacked <main> page, updates nav). Optional --skip-install, --overwrite, --manifest (custom compose apps), and --app (required when the project has more than one composed app).
set_theme{ name: "aurora"|"neutral"|"midnight"|"sunset"|"emerald", mode?: "dark"|"light" }Runs cronus-ui theme set <name> (optional --mode) to switch a baked-in preset. For Create Studio permalinks use apply_theme.
install_component{ names: string[], overwrite?: boolean, skipInstall?: boolean }Runs cronus-ui add <names...> in the project: writes the component/block source files, resolves registry dependencies, and installs npm dependencies with the project's package manager. Existing files are skipped unless overwrite is set. Prefer upgrade_components when the files already exist and you want to pull upstream without discarding local edits.
upgrade_components{ names?: string[], all?: boolean, dryRun?: boolean, yes?: boolean, manifest?: string }Runs cronus-ui upgrade --all (default when names is omitted) or cronus-ui upgrade <names...>. 3-way merge of installed components AND composed pages/layouts so local edits survive. Prefer this over install_component overwrite and over compose --overwrite. dryRun first is recommended (--dry-run); -y only when yes is true. Optional manifest (--manifest) for custom compose apps.
apply_theme{ source: string, dryRun?: boolean }Runs cronus-ui theme add <source> in the project: updates the app layout's theme attributes, writes the theme override block into the global stylesheet, and records the theme in cronus-ui.json. source is a Create Studio permalink, a bare c= payload, or an exported theme JSON file. dryRun previews without writing.

Write tools return a structured JSON result: status (success / failed / timeout), the detected projectRoot, the exact command that ran, the parsed report (files written/skipped, dependency state, theme changes, or CLI notes), and the CLI's verbatim stdout/stderr. They are annotated as non-read-only (destructiveHint: true, idempotentHint: true).

How writes work (security)

The server itself never writes files. Write tools only spawn the version-pinned cronus-ui CLI — bunx --bun cronus-ui@<the server's own version> (falling back to npx -y) — so the code that touches your project is exactly the published CLI release matching the server, resolving from the same pinned registry the read tools describe. The child runs at the detected project root (the nearest directory with a cronus-ui.json, else the nearest package.json, walking up from the server's working directory), with a 120s timeout. Item names are validated as registry slugs, compose/add-page/theme/variant arguments may not look like flags, and block specs reject -- / stray spaces, so tool arguments can never smuggle extra CLI options. The project must already exist and be initialised (npx create-cronus-app my-app --template saas, or npx cronus-ui init in an existing app); otherwise the CLI fails with a clear error and writes nothing. MCP write tools never scaffold a new repository.

Resources

ResourceURIDescription
registry-indexcronus-ui://registry/indexThe full registry listing (every component and block with its dependencies) as JSON.
catalog-tagscronus-ui://catalog/tagsCompact tagged catalog Hydra ranks against (no source files).

Setup

Two transports. Pick one:

TransportURL / commandToolsUse when
Streamable HTTP (hosted)https://aicronus.com/mcpRead-only catalogv0, Lovable, Replit, Bolt, Base44, or any client that takes a URL
stdio (local)npx -y cronus-ui-mcpRead + write (compose, add-page, install, theme, upgrade)Claude Code, Cursor, VS Code, Codex, Grok CLI, OpenCode, Zed

One command writes every project file:

sh
npx cronus-ui mcp init

--client cursor,vscode for a subset; --force overwrites. create-cronus-app and cronus-ui ai emit the same files. Snippets: aicronus.com/docs/mcp.

The stdio server runs with npx — no global install needed.

Claude Code

sh
claude mcp add cronus-ui -- npx -y cronus-ui-mcp

Hosted (read-only):

sh
claude mcp add --transport http cronus-ui https://aicronus.com/mcp

Cursor / Windsurf (and other clients that use an mcpServers JSON)

Add this to your MCP config (e.g. ~/.cursor/mcp.json, or a project .cursor/mcp.json):

json
{  "mcpServers": {    "cronus-ui": {      "command": "npx",      "args": ["-y", "cronus-ui-mcp"]    }  }}

Hosted (read-only):

json
{  "mcpServers": {    "cronus-ui": {      "url": "https://aicronus.com/mcp"    }  }}

To point at a different registry, add an env block (see below):

json
{  "mcpServers": {    "cronus-ui": {      "command": "npx",      "args": ["-y", "cronus-ui-mcp"],      "env": { "CRONUS_UI_REGISTRY": "/absolute/path/to/registry" }    }  }}

Configuration

Env varDefaultDescription
CRONUS_UI_REGISTRYThe public Cronus UI registry for the pinned version.Registry source override — either an http(s) base URL or a local directory path. Useful for testing a fork or an unpublished registry locally. Also forwarded to the CLI by install_component, compose_app, add_page, and upgrade_components (--registry).
CRONUS_MCP_CLI_CMDbunx --bun cronus-ui@<version>, then npx -y cronus-ui@<version>Launcher override for the write tools (whitespace-split), e.g. bun /repo/packages/cli/src/index.ts to run a local CLI checkout.
CRONUS_MCP_CLI_TIMEOUT_MS120000Wall-clock budget for one CLI run made by a write tool.

The server fetches index.json for listings and <name>.json for item detail, and caches both in memory for the lifetime of the process. All diagnostics are written to stderr; stdout carries only the MCP protocol.

Example agent flow

Greenfield is not an MCP tool. Scaffold a new app first, then point the MCP server at that project:

sh
npx create-cronus-app my-app --template saas

MCP write tools only run inside an already-inited project (cronus-ui.json or at least package.json). Then:

  1. compose_app { "template": "saas", "brand": "Acme" } → installs the SaaS template's blocks and writes generated pages that stack them in <main>. Optional variant: ["login=split"], skipInstall, overwrite.
  2. add_page { "route": "/pricing", "blocks": "pricing,cta", "nav": "Pricing" } → grows the composed app by one route. Optional skipInstall, overwrite, and manifest (custom compose apps).
  3. set_theme { "name": "sunset", "mode": "dark" } → switches the baked-in preset. (Create Studio permalinks go through apply_theme instead.)
  4. upgrade_components { "dryRun": true } → preview the 3-way merge of installed components and composed pages/layouts against the current registry (upgrade --all --dry-run). Prefer this over install_component with overwrite (and over compose --overwrite) so local edits survive. Optional manifest when the app was composed from a custom --manifest.

Low-context pick (Hydra / an agent that has not read the docs):

  1. match_catalog { "query": "login page with smooth animation" } → two lookups (intent=login, motion=smooth) and a pick of compact cards (description, design style, palette, motion, intents). No source dumped.
  2. get_component { "name": "<picked name>" } → source only after the pick.
  3. install_component { "names": ["<picked name>"] } → write it into the project.

For a single primitive by name, keep using the registry tools:

  1. search_registry { "query": "table" } → finds data-table, table, filter-bar.
  2. get_component { "name": "data-table" } → returns the .tsx source, its npm deps (@tanstack/react-table, …), its registry deps, and npx cronus-ui add data-table.
  3. install_component { "names": ["data-table"] } → the pinned CLI writes the files into the project, pulls in the registry dependencies, and installs the npm packages — the result lists every file written.

Development

sh
bun run build      # tsc -> distbun run typecheck  # tsc --noEmitbun run test       # vitest (tool logic, no network)

License

MIT

來源:packages/mcp/README.md,提交 a9db618

工具

8

list_components

List Cronus UI components

List the installable Cronus UI components (registry items of type 'registry:ui'). Returns each component's name, a readable title, its npm and registry dependencies, and the `npx cronus-ui add <name>` command to install it.

無需輸入參數。

list_blocks

List Cronus UI blocks

List the installable Cronus UI blocks (registry items of type 'registry:block') — larger, composed sections such as hero, pricing, login, and dashboard. Returns each block's name, title, dependencies, and its `npx cronus-ui add <name>` install command.

無需輸入參數。

list_catalog

List the tagged Cronus UI catalog

Return compact Hydra-ready cards for every component, block, variant, and template: name, short description, design style, palette, motion, intents, and the install command. No source files — cheap on tokens. Filter with `kind`. Use `match_catalog` to pick the best item for a prompt (login + smooth animation, etc.).

輸入參數kind

match_catalog

Match Cronus UI catalog tags

Two-query catalog match for low-context agents. Pass a free-text `query` (e.g. 'login page with smooth animation') and/or structured filters (`intent`, `motion`, `style`, `palette`). Returns `pick` (the recommended combination), `intent` hits, `motion` hits, and ranked `matches`. Cards carry description, design style, palette, motion, and intents — not source. Fetch source with `get_component` only after picking a name.

輸入參數kindlimitquerystyleintentmotionpalette

search_registry

Search the Cronus UI registry

Fuzzy-search Cronus UI components and blocks by name (case-insensitive substring match). Use this to find the right item before fetching its source with `get_component`.

輸入參數query必填

get_design_context

Get Cronus UI DESIGN.md taste

Return the Cronus UI visual taste file (DESIGN.md) for a theme × look. Use this before generating UI so the agent follows Aurora/Neutral dual identity, one primary CTA, hairline elevation, and look rules. compact fits a system prompt; extended is the repo file. Does not modify the project.

輸入參數lookthemeformat

get_component

Get a Cronus UI component or block

Fetch the full detail for a single Cronus UI component or block by name: its source file(s) (path + content), its npm `dependencies`, its `registryDependencies` (other registry items it needs), and the `npx cronus-ui add <name>` install command. Works for both components and blocks.

輸入參數name必填

get_install_command

Build a Cronus UI install command

Build the `npx cronus-ui add ...` command for one or more components/blocks. The CLI resolves and installs each item's registry dependencies automatically. This only returns the command string — to actually install, use `install_component`.

輸入參數names必填

版本歷史

1
  1. v0.7.6最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分