@iflow-mcp/mcp-tailwind-gemini
v1.0.0
Published
Advanced MCP server for Tailwind CSS with Gemini AI integration for intelligent design assistance
Readme
MCP Tailwind Gemini Server
Advanced Model Context Protocol (MCP) server for Tailwind CSS with Gemini AI integration and cross-platform support for intelligent design assistance across all major development environments.
🌟 Features
🤖 AI-Powered Design
- Intelligent Component Generation: Create sophisticated Tailwind components using Gemini AI
- Smart Optimization: AI-driven class optimization and conflict resolution
- Design Analysis: Comprehensive design quality assessment with improvement suggestions
- Theme Creation: Generate cohesive design systems with AI assistance
🎨 Tailwind CSS Tools
- Component Generator: Create buttons, cards, forms, navigation, modals, and custom components
- Class Optimizer: Clean up redundant classes and resolve conflicts
- CSS Converter: Transform existing CSS/SCSS to Tailwind classes
- Layout Generator: Build responsive layouts for dashboards, landing pages, blogs, and more
- Theme Creator: Generate custom color palettes, typography, and design tokens
- Preview Generator: Visual component previews with screenshot capability
🌐 Cross-Platform Integration
- Multi-Framework Support: React, Vue, Svelte, Angular with automatic component conversion
- Build Tool Integration: Vite, Webpack, Next.js, Nuxt, SvelteKit project generation
- IDE Extensions: VS Code, WebStorm plugins with live assistance
- Design Tool Sync: Figma plugin for design-to-code conversion
- Universal Deployment: CLI tools, browser extensions, and API integrations
🚀 Advanced Capabilities
- Framework Adapters: Automatic component conversion between frameworks
- Universal Project Generation: Create full-stack applications with any tech stack
- Multi-Platform Deployment: Deploy to development environments, production, and design tools
- External API Integration: Gemini, OpenAI, Claude, Figma for enhanced AI capabilities
- Responsive Design: Mobile-first approach with breakpoint optimization
- Accessibility: WCAG compliance checking and enhancement suggestions
- Performance: Bundle size optimization and render performance analysis
- Visual Preview: Screenshot generation for component visualization
📦 Installation
Prerequisites
- Node.js 18 or higher
- npm or yarn package manager
- Docker (for containerized deployment)
- (Optional) Gemini API key for AI features
Quick Start with Docker
- Clone the repository:
git clone https://github.com/Tai-DT/mcp-tailwind-gemini.git
cd mcp-tailwind-gemini- Set up environment:
# Copy environment template
cp env.example .env
# Edit .env file with your API key
# GEMINI_API_KEY=your_actual_api_key_here- Deploy with Docker:
# Build and run production container
docker-compose -f docker-compose.prod.yml up -d
# Check status
docker ps | grep mcp-tailwind-serverLocal Development Setup
- Install dependencies:
npm install- Build the project:
npm run build- Set up environment:
# Copy environment template
cp env.example .env
# Edit with your API key
# GEMINI_API_KEY=your_actual_api_key_here- Run development server:
npm run devClaude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"tailwind-gemini": {
"command": "npx",
"args": ["mcp-gemini-cli", "--allow-npx"],
"env": {
"GEMINI_API_KEY": ""your-api-key-here"
}
}Config File Locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\\Claude\\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Alternative Configuration (using npm):
{
"mcpServers": {
"mcp-tailwind-gemini": {
"command": "npm",
"args": ["run", "start"],
"cwd": "/path/to/your/mcp-tailwind-gemini",
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}For Cursor IDE
Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"mcp-tailwind-gemini": {
"command": "node",
"args": ["/path/to/your/mcp-tailwind-gemini/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}🛠️ Available Tools
Component Generation
{
"tool": "generate_component",
"description": "Create a responsive button component",
"type": "button",
"variant": "primary",
"size": "lg",
"framework": "react",
"responsive": true,
"accessibility": true
}Class Optimization
{
"tool": "optimize_classes",
"html": "<div class=\"p-4 px-4 py-4 text-blue-500 text-blue-600\">Content</div>",
"removeRedundant": true,
"mergeConflicts": true
}Theme Creation
{
"tool": "create_theme",
"brandColor": "#3B82F6",
"style": "modern",
"colorCount": 9,
"includeConfig": true
}Design Analysis
{
"tool": "analyze_design",
"html": "<div>...</div>",
"checkAccessibility": true,
"checkResponsive": true,
"checkPerformance": true
}Preview Generation
{
"tool": "generate_preview",
"html": "<button class=\"bg-blue-500 text-white px-4 py-2 rounded\">Button</button>",
"width": 800,
"height": 600
}CSS Conversion
{
"tool": "convert_to_tailwind",
"code": ".button { padding: 1rem; background: #3B82F6; }",
"format": "css",
"optimize": true
}AI Suggestions
{
"tool": "suggest_improvements",
"html": "<div>...</div>",
"context": "E-commerce product card",
"focusAreas": ["accessibility", "performance", "ux"]
}Layout Generation
{
"tool": "create_layout",
"type": "dashboard",
"sections": ["header", "sidebar", "main", "footer"],
"complexity": "medium",
"framework": "react"
}🎯 Use Cases
Creating Components
Generate production-ready components with AI assistance:
- Modern button variants with accessibility features
- Responsive card layouts with proper spacing
- Form components with validation styling
- Navigation menus with mobile-first design
Design Optimization
Improve existing designs with intelligent analysis:
- Remove redundant Tailwind classes
- Resolve conflicting utility classes
- Optimize for performance and maintainability
- Enhance accessibility compliance
Theme Development
Build comprehensive design systems:
- Generate cohesive color palettes
- Create typography scales
- Design spacing systems
- Export Tailwind configuration files
🌐 Cross-Platform Usage
Multi-Framework Development
// Convert HTML component to any framework
{
"tool": "generate_component",
"description": "Modern button component",
"framework": "react", // or "vue", "svelte", "angular"
"typescript": true,
"features": ["loading-state", "variant-support"]
}Universal Project Generation
// Create full-stack project with any tech stack
{
"tool": "create_project",
"name": "My App",
"framework": "react",
"buildTool": "vite", // or "webpack", "nextjs", "nuxt"
"features": ["typescript", "tailwind", "testing", "deployment"]
}Platform Integration
# VS Code Extension
code --install-extension tailwind-mcp-assistant
# WebStorm Plugin
# Install from JetBrains Marketplace: "Tailwind MCP Assistant"
# Figma Plugin
# Search "Tailwind MCP" in Figma Community
# CLI Tool
npm install -g tailwind-mcp-cli
tmcp generate --framework react --description "Product card"
# Browser Extension
# Install from Chrome Web Store: "Tailwind MCP Assistant"Cross-Platform Workflow
# 1. Design in Figma → Extract with plugin
# 2. Convert to multiple frameworks
tmcp convert --from figma --to react,vue,svelte
# 3. Generate optimized projects
tmcp create-project --framework react --build vite
tmcp create-project --framework vue --build nuxt
# 4. Deploy to multiple platforms
tmcp deploy --platforms vercel,netlify,awsCode Migration
Convert existing CSS to Tailwind:
- Transform legacy CSS to utility classes
- Migrate from other frameworks
- Optimize class usage patterns
- Maintain visual consistency
🔧 Development
Running Locally
# Development mode with hot reload
npm run dev
# Build for production
npm run build
# Start production server
npm startTesting MCP Server
- Test with echo command:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js- Test with a simple tool call:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "generate_component", "arguments": {"description": "A simple button", "type": "button"}}}' | node dist/index.js- Test with environment variable:
GEMINI_API_KEY="your_key" node dist/index.jsEnvironment Variables
GEMINI_API_KEY: Your Google Gemini API key (optional)NODE_ENV: Environment mode (development/production)
Project Structure
src/
├── index.ts # Main MCP server
├── tools/ # MCP tool implementations
│ ├── component-generator.ts
│ ├── class-optimizer.ts
│ ├── theme-creator.ts
│ ├── design-analyzer.ts
│ ├── preview-generator.ts
│ ├── css-converter.ts
│ ├── ai-suggestions.ts
│ └── layout-generator.ts
└── utils/
└── gemini.ts # Gemini AI integration🤝 Contributing
We welcome contributions! Please see our contributing guidelines for details.
Development Setup
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
🐳 Docker Deployment
Quick Docker Setup
# Build production image
docker build -f Dockerfile.runtime -t mcp-tailwind-runtime:latest .
# Run container
docker run -d \
--name mcp-tailwind-server \
--env-file .env \
--restart unless-stopped \
mcp-tailwind-runtime:latestDocker Compose (Recommended)
# Start production stack
docker-compose -f docker-compose.prod.yml up -d
# View logs
docker-compose -f docker-compose.prod.yml logs -f
# Stop services
docker-compose -f docker-compose.prod.yml downSecurity Best Practices
Environment Variables:
# Use .env file (never commit to Git) cp env.example .env # Edit .env with your actual API keyContainer Security:
# Run with resource limits docker run -d \ --name mcp-tailwind-server \ --env-file .env \ --memory=512m \ --cpus=1.0 \ --restart unless-stopped \ mcp-tailwind-runtime:latestNetwork Isolation:
# Create isolated network docker network create mcp-network # Run with custom network docker run -d \ --name mcp-tailwind-server \ --network mcp-network \ --env-file .env \ --restart unless-stopped \ mcp-tailwind-runtime:latest
For detailed Docker and security guide, see DOCKER-SECURITY-GUIDE.md.
🔧 Troubleshooting
Common Issues
MCP Server not starting:
- Ensure you've run
npm run buildfirst - Check that
dist/index.jsexists - Verify Node.js version is 18+
- Ensure you've run
Gemini API errors:
- Set your
GEMINI_API_KEYenvironment variable - Verify the API key is valid and has proper permissions
- Check your internet connection
- Set your
Docker container issues:
# Check container logs docker logs mcp-tailwind-server # Verify environment docker exec mcp-tailwind-server env | grep GEMINI # Restart container docker restart mcp-tailwind-serverClaude Desktop not connecting:
- Restart Claude Desktop after updating config
- Check the config file path is correct
- Verify JSON syntax is valid
Build errors:
# Clean and rebuild rm -rf dist/ node_modules/ npm install npm run build
Debug Mode
# Run with debug logging
DEBUG=mcp:* node dist/index.js
# Docker debug
docker run -it --rm \
--env-file .env \
mcp-tailwind-runtime:latest npm run dev🙋♂️ Support
- Issues: GitHub Issues
- Documentation: Check the examples in this README
- Discussions: GitHub Discussions
Built with ❤️ for the Tailwind CSS and AI community
