component-builder-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@component-builder-mcp-serverGenerate a custom button with loading state"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Component Builder MCP Server
MCP server for generating custom components based on Shadcn UI standards and criteria.
Features
🎨 Generate custom React components following Shadcn/UI patterns
📝 TypeScript support with proper type definitions
🎯 Tailwind CSS integration with class variance authority
✅ Component validation and standards checking
📚 Template-based generation system
♿ Accessibility-first approach
🔍 Comprehensive validation with suggestions
Related MCP server: 21st.dev Magic AI Agent
Installation
npm install
npm run buildUsage
As MCP Server
The server runs via stdio and can be integrated with MCP-compatible clients:
npm startTesting
Run the built-in tests to verify functionality:
npm testAvailable Tools
🔧 generate_component
Create a new component based on specifications with:
Component type selection (button, input, card, modal, etc.)
Custom props definition
Styling and accessibility configuration
Size and variant options
✅ validate_component
Check if a component follows Shadcn standards:
TypeScript validation
Accessibility compliance
Performance suggestions
Code quality checks
📋 list_component_types
Get available component types and templates with:
Detailed descriptions
Available variants
Usage examples
📖 get_component_template
Retrieve specific component template information:
Template structure
Configuration options
Implementation examples
🎯 generate_component_examples
Generate usage examples for component types:
Basic usage patterns
Advanced configurations
Real-world scenarios
Component Types
Type | Description | Variants |
| Interactive button with multiple styles | default, destructive, outline, secondary, ghost, link |
| Form input with proper styling | default |
| Flexible card with header/content/footer | default |
| Modal dialog with Radix UI primitives | default |
| Dropdown menu with keyboard navigation | default |
| Form components with validation | default |
| Navigation menus and breadcrumbs | default |
| Layout components for page structure | default |
| Tables, lists, and data components | default |
| Alerts, notifications, and feedback | default |
| Flexible custom component type | configurable |
Component Standards
This server follows Shadcn/UI standards including:
✨ Code Quality
Proper TypeScript typing with generics
React.forwardRef for ref handling
DisplayName for debugging
Consistent naming conventions (PascalCase)
🎨 Styling
Tailwind CSS classes with semantic tokens
Class Variance Authority for variant handling
cn()utility for className compositionConsistent color schemes and sizing
♿ Accessibility
ARIA attributes and roles
Keyboard navigation support
Focus management and visible focus indicators
Semantic HTML elements
⚡ Performance
Optimized re-rendering patterns
Proper memoization usage
Component size considerations
Efficient prop handling
Example Usage
Generate a Custom Button
{
"name": "SubmitButton",
"type": "button",
"description": "Form submission button with loading state",
"variant": "default",
"size": "lg",
"props": [
{
"name": "loading",
"type": "boolean",
"required": false,
"description": "Show loading spinner"
}
],
"children": true,
"accessibility": {
"ariaLabel": "Submit form"
}
}Validate Component Code
{
"componentCode": "your-component-code-here",
"strict": true
}Configuration
Example MCP client configuration:
{
"mcpServers": {
"component-builder": {
"command": "node",
"args": ["/path/to/component-builder-mcp-server/dist/index.js"],
"description": "Component Builder MCP Server"
}
}
}Development
Project Structure
src/
├── index.ts # Main MCP server
├── types/
│ └── component.ts # TypeScript type definitions
├── templates/
│ ├── *.hbs # Handlebars templates
│ └── index.ts # Template registry
├── utils/
│ ├── generator.ts # Component generation logic
│ ├── validator.ts # Component validation
│ └── helpers.ts # Utility functions
examples/
├── basic-usage.md # Basic usage examples
├── advanced-usage.md # Advanced examples
└── api-reference.md # Complete API documentation
test/
└── basic-test.js # Integration testsBuilding
npm run build # Build TypeScript and copy templates
npm run dev # Watch mode for developmentTesting
npm test # Run integration testsContributing
Fork the repository
Create a feature branch
Add tests for new functionality
Update documentation
Submit a pull request
License
MIT License - see LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Anurag7376/component-builder-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server