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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。