# Website Builder MCP Server
A Model Context Protocol (MCP) server for automated website generation with Excel data integration.
## π Features
- β
**Multiple Website Templates** - Portfolio, blog, catalog, directory
- β
**Excel Data Integration** - Build websites directly from Excel files
- β
**Component Generation** - Navbar, hero, cards, forms with multiple styles
- β
**Responsive Design** - Modern CSS framework with mobile support
- β
**MCP Protocol** - Full Model Context Protocol server implementation
- β
**Automated Pages** - Generate individual pages from Excel rows
## π Excel Integration
Transform Excel spreadsheets into complete websites:
### **Product Catalog** π¦
- **Excel Format:** Product Name, Description, Price, Category, Image
- **Generates:** Product grid, individual product pages, category filtering
- **Perfect for:** E-commerce sites, inventory displays
### **Staff Directory** π₯
- **Excel Format:** Name, Title, Department, Email, Phone, Bio
- **Generates:** Team overview, individual profiles, department pages
- **Perfect for:** Company websites, organization directories
### **Portfolio Sites** πΌ
- **Excel Format:** Project Name, Description, Technologies, Link, Status
- **Generates:** Project showcase, technology filtering, project details
- **Perfect for:** Developer portfolios, agency showcases
### **Custom Data Sites** π
- **Excel Format:** Any structured data
- **Generates:** Data tables, searchable listings, custom layouts
- **Perfect for:** Reports, listings, catalogs
## π οΈ Installation
```bash
# Clone the repository
git clone https://github.com/pmkhairnarr/website-builder-mcp.git
cd website-builder-mcp
# Install dependencies
npm install
# Start the MCP server
npm start
```
## π Usage
### Basic Website Creation
```javascript
// Create website from template
{
"name": "create_website",
"arguments": {
"name": "my-portfolio",
"template": "portfolio",
"title": "My Portfolio",
"description": "Showcasing my work"
}
}
```
### Excel-Powered Websites
```javascript
// Build from Excel file
{
"name": "build_from_excel",
"arguments": {
"excelFile": "./examples/sample-products.xlsx",
"template": "catalog",
"siteName": "product-catalog",
"sheetName": "Products"
}
}
```
## π Project Structure
```
website-builder-mcp/
βββ server.js # Main MCP server
βββ package.json # Dependencies & scripts
βββ templates/ # HTML/CSS templates
β βββ base.html # Base page template
β βββ styles.css # Responsive CSS framework
βββ examples/ # Sample Excel files
β βββ sample-products.xlsx
β βββ sample-directory.xlsx
β βββ sample-portfolio.xlsx
βββ websites/ # Generated websites
βββ tests/ # Test files
```
## π§ Available Tools
### Core Tools
- **`create_website`** - Create from templates
- **`add_page`** - Add pages to existing sites
- **`generate_component`** - Create HTML components
- **`list_websites`** - List all created sites
### Excel Tools
- **`build_from_excel`** - Generate complete sites from Excel data
## π Excel File Format
### Product Catalog Example
| Product Name | Description | Price | Category | Image | In Stock |
|--------------|-------------|-------|----------|-------|----------|
| Wireless Headphones | High-quality wireless... | $199.99 | Electronics | image.jpg | Yes |
### Staff Directory Example
| Name | Title | Department | Email | Phone | Bio |
|------|-------|------------|-------|-------|-----|
| John Smith | Software Engineer | Engineering | john@company.com | 555-0101 | Experienced developer... |
### Portfolio Example
| Project Name | Description | Technologies | Link | Status |
|--------------|-------------|--------------|------|---------|
| E-commerce Platform | Full-stack solution... | React, Node.js | github.com/... | Completed |
## π§ͺ Testing
```bash
# Test Excel integration
npm run test:excel
# Test MCP server
npm test
# Run direct functionality test
node direct-test.js
```
## π Generated Websites
Websites are created in the `websites/` directory with:
- **Responsive HTML** pages
- **Modern CSS** styling
- **Site configuration** (site.json)
- **Navigation** between pages
- **Mobile-friendly** design
## π MCP Integration
Use with MCP-compatible clients:
- **VS Code with MCP extension**
- **Claude Desktop**
- **Custom MCP clients**
## π API Documentation
### MCP Server Configuration
```json
{
"mcpServers": {
"website-builder": {
"command": "node",
"args": ["server.js"],
"cwd": "./website-builder-mcp"
}
}
}
```
## π€ Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'Add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open Pull Request
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π― Use Cases
- **Business Websites** - Generate company sites from employee data
- **Product Showcases** - Create catalogs from inventory spreadsheets
- **Portfolio Sites** - Build project showcases from work data
- **Directory Sites** - Create searchable listings from contact data
- **Report Sites** - Transform data reports into web presentations
## π Advanced Features
- **Automatic slug generation** for SEO-friendly URLs
- **Responsive grid layouts** for all device sizes
- **Smart column detection** for Excel processing
- **Template customization** for brand consistency
- **Batch processing** for large datasets
- **Error handling** with detailed feedback
---
**Built with β€οΈ for the AI Development Community**