shadcn/ui for Laravel Blade β discover, read and install BlatUI components, blocks and charts.
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.
A CLI that copies open-source, copy-paste UI components you own straight into your Laravel project.
155 components Β· 614 variants Β· 64 blocks Β· 70 charts Β· accessible (WCAG AA) Β· Livewire-ready Β· fully themeable Β· light + dark Β· MIT
π§© This is the BlatUI monorepo. The Composer package is the repo root (
src/+stubs/) β Packagist reads it directly, socomposer require anousss007/blatuiis unchanged and theapps/are stripped from the dist tarball. Components are authored inapps/demo/and generated intostubs/. See Contributing before editing a component.
vendor/. Edit them however you like; updating the package never overwrites your edits.wire:model works on every form control β inputs, selects, checkboxes, switches, sliders, date/time pickers, file uploads and more β with full two-way binding. A free, you-own-the-code alternative to Flux Pro. See the Livewire guide βPoint your two Vite entrypoints at the published foundations β replace each file's contents:
blatui.cssbrings Tailwind, the design tokens and the@thememapping;blatui.jsboots Alpine + its plugins and lazy-loads ApexCharts. Runblatui:initto confirm everything (packages, tokens, imports) is wired up.
The foundations are published once and become yours β tweak the tokens, drop the chart engine if you don't need charts, etc.
blatui:initwill tell you what's still missing.
Everything is additive β you don't replace your files.
@theme inline, oklch). On
Tailwind v3, migrate first with npx @tailwindcss/upgrade; blatui:init detects the version.@import "./blatui.css"; to your existing app.css, below @import "tailwindcss";.blatui.js (it would boot a second Alpine).
Register BlatUI into your own instance instead, before you start it:npm install alpinejs (that's the duplicate-Alpine trap) and don't import blatui.js.
Install only the plugins β npm install -D @alpinejs/anchor @floating-ui/dom @alpinejs/collapse @alpinejs/focus
(add apexcharts only if you use charts) β and register BlatUI onto Livewire's Alpine via
the alpine:init hook:BlatUI registers a theme store for dark mode. If Flux already drives dark mode, pass
registerBlatUI(window.Alpine, { darkMode: false }) so the two don't both toggle .dark.
Components land in resources/views/components/ui/ as Blade tags:
blatui:add prints any extra composer/npm packages a component needs
(e.g. charts pull in apexcharts).
You own the copied files, so an upgrade is never automatic β blatui:update
shows you what changed and lets you decide, file by file:
A file that differs is either your customisation or an outdated copy β nothing on
disk tells the two apart, so BlatUI never overwrites one without showing the diff
and asking. --force still writes a .bak next to each file it replaces (opt out
with --no-backup). Files a family gained in a newer release are simply added.
Running Pint or Prettier over resources/views? Your formatter rewrites the
layout of every component you copied, and all of them then read as changed. They
are counted separately as same content, reformatted, and --ignore-whitespace
leaves them out:
The CSS/JS foundations are published, not copied β re-sync those with
vendor:publish --tag=blatui-foundations --force; blatui:init tells you when
the engine has fallen behind.
Blocks (dashboards, sidebars, login pagesβ¦) and the 70 charts are copy-paste from the demo site β they're full-page compositions, not primitives, so you grab the exact source you want rather than installing it:
π Browse blocks & charts on the live demo
| Command | Description |
|---|---|
blatui:init | Doctor β checks packages, Tailwind v4, theme tokens, Alpine/engine wiring |
blatui:list [component] | List all component families, or detail one |
blatui:add <components...> | Copy components (+ deps) into your project |
blatui:update [components...] | Diff installed components against this version and update them (--dry-run, --diff, --force, --ignore-whitespace) |
blatui:doctor [path] | Scan your Blade for known footguns (typeless buttons in forms, leaked tags) |
blatui:mcp | Run the MCP server (stdio) so an AI editor can search and install components |
vendor:publish --tag=blatui-foundations | Publish theme CSS + JS engine |
BlatUI is a monorepo β one repo, one PR, one CI. The Composer package is the repo root;
the demo/docs site and starter kit are apps that live alongside it (excluded from the published
package via .gitattributes).
Components are authored in apps/demo/resources/views/components/ui/ (the only place they
render, so it's the source of truth); stubs/ is generated β don't hand-edit it. After changing
a component, run bash scripts/build-package.sh and commit both. CI fails if they drift.
Full guide: CONTRIBUTING.md.
BlatUI is a port of shadcn/ui to the Laravel/Blade ecosystem. Thanks to shadcn and contributors. Icons by Lucide. Charts by ApexCharts.
MIT β free for personal and commercial use.
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/blatui)<a href="https://allmcps.com/mcp/blatui"><img src="https://allmcps.com/api/badge/blatui?style=directory" alt="Blatui on AllMCPs" /></a>