ng-blatui for Angular β search components, blocks, charts & templates and read their typed API.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Accessible Angular UI library β a faithful port of BlatUI's visual system to Angular. Built on the official Angular headless stack (Angular Aria + CDK), styled with Tailwind CSS v4 + oklch design tokens.
157 components Β· 16 blocks Β· 70 charts Β· 35 page templates β all standalone, signal-based, zoneless and SSR-safe.
π Docs & live demo β Β· π¦ npm Β· π€ Using with AI β
input()/model()/output()), zoneless change detection, OnPush by default.@angular/aria + @angular/cdk; passes AXE / WCAG AA.ControlValueAccessor, so the same component works with Reactive, Template-driven and Signal forms.llms.txt index and a machine-readable registry (see below).Peer dependencies (Angular 21 or 22): @angular/core, @angular/common, @angular/forms, @angular/cdk, @angular/aria.
Styling is Tailwind CSS v4. In your app's global stylesheet (e.g. src/styles.css) add three lines:
The @source line is the easy one to miss: without it Tailwind never scans ng-blatui's
compiled templates, so the components render unstyled. Point it at wherever ng-blatui lives
relative to the stylesheet (adjust the ../ depth). Dark mode is a dark class on a parent
(<html class="dark">); override any oklch token in :root / .dark to re-theme. Full guide:
https://ngblatui.remix-it.com/docs/installation.
ng-blatui ships no icon set β wire your own (e.g. @ng-icons)
with provideIcons(...) and register each icon you use. Components that take an icon accept an SVG
path d string, so any icon source works.
Import the component class from the ng-blatui barrel and add it to a standalone component's imports[] β no NgModule. Selectors are prefixed bui.
<bui-avatar>, <bui-rating>, β¦<button buiButton>, <input buiInput>, <span buiBadge tone="success">, β¦[checked] / (checkedChange) etc.; works under zoneless CD and SSR with no extra setup.formControlName, [(ngModel)] or [formControl] all work β every control is a ControlValueAccessor.BuiInputField,
BuiMoneyInput (localized currency; symbol="DH" overrides the ISO code), BuiDateRangePicker
(startβend with presets), plus BuiSelect, BuiCombobox, BuiAutocomplete, BuiPhoneInput.buiField + buiFieldLabel / buiFieldDescription
/ buiFieldError wrap a bare buiInput / .blat-* control and manage the a11y relationships.Reach for a bare control (buiInput) only when you also add the buiField scaffolding yourself.
Other easy-to-miss building blocks: buiEmpty (empty states), bui-stat (stat cards),
buiFieldSet / buiFieldLegend (grouped fields).
Styling is Tailwind v4 + CSS variables. Override the oklch design tokens (--background, --foreground, --primary, --border, --muted, --radius, β¦) to restyle everything globally; toggle a dark class for dark mode. See https://ngblatui.remix-it.com/docs/theming.
Two providers cover the whole library, both set once in your app config:
Set neither and everything formats as en-US β that is Angular's own LOCALE_ID default, and
the usual reason pickers stay American in an app that is not. Resolution runs most-specific first:
a component's [locale] input β provideBuiLocale() β the app's LOCALE_ID β en-US. You never
need registerLocaleData() here; ng-blatui formats through Intl.
Both providers also take a signal, or a factory run in an injection context β which is what keeps them open to any translation library (Transloco, ngx-translate, a signal store of your own) without ng-blatui depending on one, or knowing any translation format. Full guide, with a Transloco example: https://ngblatui.remix-it.com/docs/localization.
| Category | Count | Browse |
|---|---|---|
| Components | 157 | https://ngblatui.remix-it.com/components |
| Blocks | 16 | https://ngblatui.remix-it.com/blocks |
| Charts | 70 | https://ngblatui.remix-it.com/charts |
| Templates | 35 | https://ngblatui.remix-it.com/templates |
Templates are full, production-style pages (dashboard, pricing, auth, store, CRM, blog, docs, e-commerce product, plus 20 art-directed landing pages) β faithful 1:1 reproductions of the BlatUI originals.
ng-blatui is built to be consumed by AI coding assistants so they discover and use the catalog correctly instead of guessing β via three layers:
| Layer | What | Where |
|---|---|---|
| MCP server | Tools to list/search the catalog and fetch full docs + code | npx ng-blatui-mcp |
| llms.txt | The llms.txt standard index | https://ngblatui.remix-it.com/llms.txt |
| registry.json | Machine-readable catalog | https://ngblatui.remix-it.com/registry.json |
Quick start (works in Claude, Cursor, Windsurf, Cline, Zed, VS Codeβ¦):
The MCP server exposes list_components (optional category), list_blocks, list_charts, list_templates, search({ query }) and get_docs({ name }). Full guide with per-client config and copy-paste editor rules: USING-WITH-AI.md.
This is an Angular workspace with two projects: the library (projects/ng-blatui) and the docs/demo app (projects/demo).
| Command | What it does |
|---|---|
npm start | Serve the demo app (ng serve demo) |
npm run build:lib | Build the publishable library (ng build ng-blatui) |
npm run build | Build the demo site |
npm test | Unit tests (Vitest) |
npm run lint | ESLint (type-aware, strict) + template a11y |
npm run format | Prettier (with Tailwind class sorting) |
npm run build:registry | Regenerate registry.json + llms.txt from the catalog |
npm run capture:previews | Capture template preview images (Playwright) |
npm run deploy:site | Build + deploy the docs site to the VPS |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ng-blatui)<a href="https://allmcps.com/mcp/ng-blatui"><img src="https://allmcps.com/api/badge/ng-blatui?style=directory" alt="Ng Blatui on AllMCPs" /></a>