WireUI MCP Server
An MCP server that provides AI tools with deep understanding of WireUI v2.x components and comprehensive icon support for Heroicons and Phosphor Icons.
README
WireUI MCP Server
An MCP (Model Context Protocol) server that provides AI tools with deep understanding of WireUI v2.x components and comprehensive icon support for Heroicons and Phosphor Icons.
What is the TALL Stack?
TALL is a full-stack development solution that combines:
- Tailwind CSS - Utility-first CSS framework
- Alpine.js - Lightweight JavaScript framework
- Laravel - PHP web application framework
- Livewire - Full-stack framework for Laravel
Learn more about TALL: https://github.com/livewire/tallstack.dev
Overview
This MCP server enables AI assistants like Claude to:
- Query WireUI component metadata (props, slots, events)
- Get usage examples with Blade syntax
- Understand Livewire and Alpine.js integrations
- Generate properly structured TALL stack UI code
- Check icon availability across Heroicons and Phosphor libraries
- Find similar icons with fuzzy matching for typos
- Get icon usage examples with all variants
Requirements
- Node.js 18+
- Compatible with WireUI v2.4+
- Supports Laravel 10-12, Livewire 3, Tailwind CSS 3 (v4 not supported by WireUI v2)
Quick Start Guide
1. Clone and Install
# Clone the repository
git clone https://github.com/rcoenen/wireui-mcp-server.git
cd wireui-mcp-server
# Install dependencies
npm install
# Build the server
npm run build
2. Test with MCP Inspector (Recommended for First-Time Users)
The easiest way to test the server is using the MCP Inspector:
# Run this command from the project directory
npx @modelcontextprotocol/inspector node dist/index.js
This will:
- Start the MCP Inspector
- Open your browser automatically
- Show the Inspector interface
In the browser, you'll see a form. Enter these values:
- Command:
node - Arguments:
/Users/YOUR_USERNAME/Dev/wireui-mcp-server/dist/index.js(adjust path to match your setup)
Click "Connect" and you should see:
- "Connected" status
- In the console: "Loaded 26 components"
- Available tools in the Tools tab
3. Try the Tools
Once connected, test the tools:
-
List all components:
- Select
tallui_list_components - Click "Run"
- You should see all 26 WireUI components listed
- Select
-
Get component details:
- Select
tallui_get_component - Enter arguments:
{"name": "button"} - Click "Run"
- Select
-
Search components:
- Select
tallui_search_components - Enter arguments:
{"query": "form"} - Click "Run"
- This will return all form-related components
- Select
Using with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tall-ui": {
"command": "node",
"args": ["/path/to/wireui-mcp-server/dist/index.js"]
}
}
}
Restart Claude Desktop and the TALL UI tools will be available.
Available Tools
Component Tools
tallui_list_components- List all available componentstallui_get_component- Get detailed component informationtallui_search_components- Search components by keywordtallui_get_component_example- Get component usage examples
Icon Tools (NEW! v1.1.0)
wireui_list_icons- List all available icons (324 Heroicons, 1000+ Phosphor icons)wireui_check_icon- Check if an icon exists and get its variantswireui_find_similar_icons- Find similar icons with fuzzy matchingwireui_get_icon_example- Get usage examples for icons
WireUI Component Coverage
Coverage Status: 26/26 (100%) ✅
Based on the official WireUI v2.x component library: https://wireui.dev/components
| Category | Component | Status | Category | Component | Status |
|---|---|---|---|---|---|
| UI Components | Form Components | ||||
| Alert | ✅ | Checkbox | ✅ | ||
| Avatar | ✅ | Color Picker | ✅ | ||
| Badge | ✅ | Currency | ✅ | ||
| Button | ✅ | Datetime Picker | ✅ | ||
| Card | ✅ | Errors | ✅ | ||
| Dropdown | ✅ | Input | ✅ | ||
| Icon | ✅ | Maskable | ✅ | ||
| Link | ✅ | Native Select | ✅ | ||
| Modal | ✅ | Number | ✅ | ||
| Table | ✅ | Password | ✅ | ||
| Phone | ✅ | ||||
| Radio | ✅ | ||||
| Select | ✅ | ||||
| Textarea | ✅ | ||||
| Time Picker | ✅ | ||||
| Toggle | ✅ |
Legend:
- ✅ Implemented
- ❌ Not yet implemented
Icon Support (NEW! v1.1.0)
⚠️ Installation Requirements
The MCP server provides metadata about icons, but the actual icon packages must be installed separately in your Laravel project:
# For Heroicons support
composer require wireui/heroicons
# For Phosphor Icons support
composer require wireui/phosphoricons
Note: The MCP server tools will remind you about these installation requirements when you use them. Each tool response includes the necessary installation commands.
Icon Libraries Coverage
| Library | Icons | Variants | Total Combinations |
|---|---|---|---|
| Heroicons | 324 | outline, solid, mini.solid | 972 |
| Phosphor | 1,000+ | thin, light, regular, bold, fill, duotone | 6,000+ |
Icon Features
-
Smart Icon Validation
- Checks if icons exist before use
- Validates variant availability
- Prevents runtime errors from missing icons
-
Fuzzy Matching
- Finds similar icons when typos occur
- Suggests alternatives for non-existent icons
- Example: "usr" → suggests "user", "users"
-
Usage Examples
- Shows correct syntax for each icon library
- Provides examples for all variants
- Includes component syntax alternatives
Example Icon Tool Usage
// Check if an icon exists
wireui_check_icon({ name: "user", library: "heroicons" })
// Returns: { exists: true, variants: ["outline", "solid", "mini.solid"] }
// Find similar icons (typo handling)
wireui_find_similar_icons({ name: "usr" })
// Returns suggestions: "user", "users", etc.
// Get usage examples
wireui_get_icon_example({ name: "user", library: "heroicons" })
// Returns Blade syntax examples for all variants
Development
# Run in development mode
npm run dev
# Run tests
npm test
# Type check
npm run typecheck
# Update icon data
npm run update-icons
Component Structure
Components are defined as JSON files in src/components/wireui/:
{
"name": "button",
"category": "actions",
"wireui_version": "^2.4",
"props": [...],
"slots": [...],
"examples": [...]
}
Adding New Components
- Create a JSON file in
src/components/wireui/ - Follow the schema defined in
src/registry/schema.ts - Include version compatibility, props, examples, and best practices
- Rebuild with
npm run build - Restart the server to load new components
Troubleshooting
"ENOENT: no such file or directory" error
Make sure you're running commands from the project root directory, not from a subdirectory.
Inspector won't connect
- Ensure the server is built:
npm run build - Check the path in Arguments matches your actual file location
- Try using the full absolute path
Components not loading
Check that JSON files in src/components/wireui/ are valid JSON format.
Recent Updates
July 26, 2025
- 📚 New Best Practices Guide: Added comprehensive BEST_PRACTICES_WIREUI.md based on production experience
- ⚠️ Critical Warnings Added: Updated component definitions with known issues and workarounds
- 🐛 Accessibility Fix: Submitted PR #1087 to WireUI for invalid HTML generation
July 25, 2025
- ✅ Complete WireUI v2 Coverage: All 26 components now implemented!
- 🔧 Major Fixes: Updated component specs based on real-world testing
- Components now use boolean props for colors (e.g.,
<x-alert info />instead ofvariant="info") - Updated all icon names to Heroicons v2 convention
- Added Tailwind CSS v3 requirement (v4 not supported)
- Components now use boolean props for colors (e.g.,
- 📝 Documentation: Added CHANGELOG.md and CHANGELOG_FIXES.md for tracking changes
Important Notes
🚨 Critical Production Issues & Solutions
See BEST_PRACTICES_WIREUI.md for detailed solutions to common WireUI issues including:
- Tailwind CSS dynamic class purging in production
- Background colors creating unwanted boxes
- Text alignment and color issues
- Accessibility errors
- Proper configuration techniques
WireUI v2 Compatibility
This server is specifically designed for WireUI v2.x which requires:
- Tailwind CSS v3 (v4 is NOT compatible)
- Heroicons v2
- Alpine.js v3
- Livewire v3
Breaking Changes from Previous Versions
If you used earlier versions of this MCP server, note that many components now use boolean props instead of variant strings. See CHANGELOG.md for migration guide.
Roadmap
- [x] Complete WireUI v2 components coverage ✅
- [ ] Component validation tools
- [ ] Form generation helpers
- [ ] Filament components support
- [ ] CLI for metadata generation
- [ ] Support for WireUI v3 (when released)
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.