- Alert
- Autocomplete
- Badge
- CascaderNew component for nested multi-level selection
- Data Grid
- Date Selector
- Event Calendar
- File Upload
- FiltersRebuilt around a boolean query tree, with breaking API changes and a migration prompt
- Frame
- Gantt
- Icon Stack
- Icon Tile
- Kanban
- Number Field
- Phone Input
- Rating
- Scrollspy
- Sortable
- Stepper
- Timeline
- Tree
Set ReUI up in Claude once, then build UI from the entire ReUI registry just by chatting. Pick your Claude below - the two setups differ only in how you add the server. The endpoint is always the same URL, https://mcp.reui.io, over Streamable HTTP, the same one every agent uses - see MCP Server for the shared background.
Setup
Add the ReUI MCP server
From your project root, register the server over HTTP:
claude mcp add --transport http reui https://mcp.reui.ioSign in with ReUI
Open the MCP menu inside Claude Code:
/mcpSelect reui and follow the steps in your browser to approve the "Sign in with ReUI" prompt. A free ReUI account is created in that flow if you do not have one. Claude Code discovers the sign-in from the WWW-Authenticate header ReUI returns, so there is nothing to configure.
You can also do this from your shell without opening a session:
claude mcp login reuiAdd --no-browser on a machine with no browser (an SSH session, for example) and Claude Code prints the authorization URL for you to open elsewhere, then asks you to paste the redirect URL back.
Confirm the connection
Check that Claude Code sees the server and its tools:
claude mcp listreui should report ✔ Connected. ! Needs authentication means the sign-in did not finish, and ✘ Failed to connect means Claude Code could not reach the server at all. No config files, no keys to paste.
Install the ReUI skill
Run the one-line installer from your project root so Claude Code follows the ReUI build workflow:
curl -fsSL https://mcp.reui.io/install | node -This drops a ReUI skill file into your project so Claude knows how to search the registry, read the real component APIs, and wire blocks together the ReUI way instead of guessing.
Build with ReUI
Describe the interface you want in plain language and Claude pulls the right ReUI components, examples, and blocks from the registry, then wires them into your project.
Use ReUI to scaffold an admin app - the app-shell with a collapsible sidebar and top bar, and a dashboard page with stat cards and a chart.Add a data-grid of orders with sorting, column filters, pagination, and row selection, wired to my /api/orders endpoint.Build a multi-step "create project" wizard with the ReUI stepper and form components, with validation on each step.Add a kanban board for support tickets with drag and drop, grouped by status, and a filters bar above it.Unlock premium items
Free items (the 20 components and every c-* example) install with no license. To let Claude install premium blocks, icons, and templates too, grab a Pro or Ultimate license - one license unlocks the whole premium registry and removes the daily MCP request limit. Then add your key to the project - two quick steps:
Add your license key
Copy your key from Account → Licenses into .env.local at the project root:
REUI_LICENSE_KEY=your-license-key-hereAdd the @reui registry to components.json
{
"registries": {
"@reui": {
"url": "https://reui.io/r/{style}/{name}.json",
"headers": {
"Authorization": "Bearer ${REUI_LICENSE_KEY}"
}
}
}
}${REUI_LICENSE_KEY} works in both files here, for two different reasons. The shadcn CLI expands it in components.json. Claude Code expands it as well: it substitutes ${VAR} and ${VAR:-default} in a server's url and headers in .mcp.json, which is why the ReUI installer writes Authorization: Bearer ${REUI_LICENSE_KEY} into your MCP config instead of the raw key. Keep the value in your environment either way - when the variable is unset, Claude Code warns about it in claude mcp list and sends the literal ${REUI_LICENSE_KEY} text, which ReUI rejects with a 401. Other agents use their own interpolation syntax, so this exact line does not carry over to a Cursor, OpenCode, or Zed config.
That is it - Claude can now install any premium item the MCP returns, and free items keep working through the same config. See License Setup for the full guide, or compare plans on the Pricing page.
Headless and CI
For Claude Code runs without a browser (CI, remote sessions), create a personal token at Account → MCP and pass it as a Bearer header instead of the browser sign-in:
claude mcp add --transport http reui https://mcp.reui.io \
--header "Authorization: Bearer reui_pat_your_token_here"In a config you commit, keep the token in the environment and let Claude Code substitute it, exactly as the installer does:
{
"mcpServers": {
"reui": {
"type": "http",
"url": "https://mcp.reui.io",
"headers": {
"Authorization": "Bearer ${REUI_MCP_TOKEN}"
}
}
}
}Once a header is set, that is the credential Claude Code uses. It will not fall back to the browser flow, so a bad or lapsed token shows up as a failed connection rather than a sign-in prompt.
Tokens expire after 90 days by default (30, 60, 90 and 180 are offered, plus No expiry for pipelines that cannot rotate). Nothing emails you beforehand, so an expired token simply starts returning 401 - create a fresh one at Account → MCP and update the header. Existing tokens keep whatever lifetime they were issued with.
Troubleshooting
Most hiccups are a stale browser sign-in, and reconnecting fixes them. The one exception is a personal token, which cannot be re-authenticated - it has to be replaced.
- Tools missing, greyed out, or "not connected" - the server did not finish connecting. To fix it, run
/mcpin Claude Code and re-authenticatereui(or toggle the connector off and on in Claude Desktop), then restart Claude. - 401 and you sign in through your editor - your ReUI session expired. To fix it, run
/mcpin Claude Code and re-authenticatereui(or toggle the connector off and on in Claude Desktop) to sign in again. - 401 and you use a personal token (headless or CI) - the token has expired or been revoked. Re-authenticating will not help:
/mcprenews the browser sign-in, not theAuthorizationheader your job sends, and Claude Code reports a rejected header as a failed connection rather than falling back to OAuth. Create a new token at Account → MCP and update the header or CI secret. The 401 body names which of the two it was. - Requests hang or the session drops mid-build - long sessions can lose the connection. To fix it, run
/mcpin Claude Code and re-authenticatereui(or toggle the connector off and on in Claude Desktop) and retry your last prompt. - Sign-in appears to work but every call still 401s - check whether you have an
Authorizationheader on thereuientry in.mcp.json. A configured credential is sent on every request and overrides the OAuth credential the sign-in stores, so while it is there running/mcpand re-authenticatingreuicannot take effect. The two are alternatives, not layers: use the header only on the headless path, and remove it if you want the browser sign-in. - 429 "daily limit reached" - you hit the free limit of 100 tool calls per day. Sign in with your ReUI license for unlimited access, or wait for the next day.
- Every ReUI call fails and nothing asks you to sign in - the stored OAuth connection is dead (revoked, expired, or invalidated after a suspicious reuse), and the client is silently retrying a credential that can never work again. Account → MCP shows the connection as Disconnected when this is the case. Reconnect the same way as the 401 fix above; retrying without signing in again cannot recover it.