component-builder-mcp-server

component-builder-mcp-server

Generates custom React components following Shadcn UI standards with TypeScript, Tailwind CSS, and accessibility support.

Category
Visit Server

README

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

Installation

npm install
npm run build

Usage

As MCP Server

The server runs via stdio and can be integrated with MCP-compatible clients:

npm start

Testing

Run the built-in tests to verify functionality:

npm test

Available 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
button Interactive button with multiple styles default, destructive, outline, secondary, ghost, link
input Form input with proper styling default
card Flexible card with header/content/footer default
modal Modal dialog with Radix UI primitives default
dropdown Dropdown menu with keyboard navigation default
form Form components with validation default
navigation Navigation menus and breadcrumbs default
layout Layout components for page structure default
data-display Tables, lists, and data components default
feedback Alerts, notifications, and feedback default
custom 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 composition
  • Consistent 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 tests

Building

npm run build    # Build TypeScript and copy templates
npm run dev      # Watch mode for development

Testing

npm test         # Run integration tests

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Update documentation
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured