index.html•9.54 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MCPizza - AI-Powered Pizza Ordering</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: #333;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.hero {
text-align: center;
padding: 60px 0;
color: white;
}
.hero h1 {
font-size: 3.5rem;
font-weight: 700;
margin-bottom: 20px;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.hero .tagline {
font-size: 1.3rem;
margin-bottom: 40px;
opacity: 0.9;
}
.pizza-emoji {
font-size: 4rem;
margin-bottom: 20px;
display: block;
}
.cta-button {
display: inline-block;
background: #ff6b35;
color: white;
padding: 15px 30px;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
font-size: 1.1rem;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}
.cta-button:hover {
background: #e55a2e;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
}
.features {
background: white;
padding: 80px 0;
}
.features h2 {
text-align: center;
font-size: 2.5rem;
margin-bottom: 60px;
color: #333;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 40px;
}
.feature-card {
text-align: center;
padding: 30px 20px;
border-radius: 15px;
box-shadow: 0 5px 20px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
}
.feature-card:hover {
transform: translateY(-5px);
}
.feature-icon {
font-size: 3rem;
margin-bottom: 20px;
display: block;
}
.feature-card h3 {
font-size: 1.5rem;
margin-bottom: 15px;
color: #333;
}
.feature-card p {
color: #666;
line-height: 1.6;
}
.tech-section {
background: #f8f9fa;
padding: 80px 0;
}
.tech-section h2 {
text-align: center;
font-size: 2.5rem;
margin-bottom: 40px;
color: #333;
}
.tech-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
max-width: 800px;
margin: 0 auto;
}
.tech-item {
background: white;
padding: 25px;
border-radius: 10px;
text-align: center;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.tech-item h3 {
color: #667eea;
margin-bottom: 10px;
}
.getting-started {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 80px 0;
text-align: center;
}
.getting-started h2 {
font-size: 2.5rem;
margin-bottom: 30px;
}
.code-block {
background: rgba(0,0,0,0.3);
padding: 25px;
border-radius: 10px;
font-family: 'Monaco', 'Menlo', monospace;
font-size: 0.9rem;
text-align: left;
margin: 30px auto;
max-width: 600px;
overflow-x: auto;
}
.github-link {
display: inline-block;
background: rgba(255,255,255,0.2);
padding: 12px 25px;
border-radius: 25px;
color: white;
text-decoration: none;
margin-top: 20px;
transition: background 0.3s ease;
}
.github-link:hover {
background: rgba(255,255,255,0.3);
}
.footer {
background: #2c3e50;
color: white;
text-align: center;
padding: 40px 0;
}
.disclaimer {
background: #ffc107;
color: #856404;
padding: 15px 0;
text-align: center;
font-weight: 500;
}
@media (max-width: 768px) {
.hero h1 {
font-size: 2.5rem;
}
.hero .tagline {
font-size: 1.1rem;
}
.features h2,
.tech-section h2,
.getting-started h2 {
font-size: 2rem;
}
}
</style>
</head>
<body>
<section class="hero">
<div class="container">
<span class="pizza-emoji">🍕</span>
<h1>MCPizza</h1>
<p class="tagline">AI-Powered Pizza Ordering with Model Context Protocol</p>
<a href="#getting-started" class="cta-button">Get Started</a>
</div>
</section>
<div class="disclaimer">
⚠️ For educational purposes only. Real order placement is disabled by default for safety.
</div>
<section class="features">
<div class="container">
<h2>Features</h2>
<div class="features-grid">
<div class="feature-card">
<span class="feature-icon">📍</span>
<h3>Store Locator</h3>
<p>Find the nearest Domino's stores by address or zip code with precise location matching.</p>
</div>
<div class="feature-card">
<span class="feature-icon">📋</span>
<h3>Menu Browsing</h3>
<p>Search and browse complete menu categories including pizzas, wings, sides, and desserts.</p>
</div>
<div class="feature-card">
<span class="feature-icon">🛒</span>
<h3>Order Management</h3>
<p>Add items to cart, customize options, and calculate totals with tax and delivery fees.</p>
</div>
<div class="feature-card">
<span class="feature-icon">👤</span>
<h3>Customer Info</h3>
<p>Handle delivery addresses and contact information securely for order preparation.</p>
</div>
<div class="feature-card">
<span class="feature-icon">🔒</span>
<h3>Safe Preview</h3>
<p>Prepare and review orders without placing them - safety first approach built-in.</p>
</div>
<div class="feature-card">
<span class="feature-icon">🤖</span>
<h3>MCP Integration</h3>
<p>Full Model Context Protocol support for seamless AI assistant integration.</p>
</div>
</div>
</div>
</section>
<section class="tech-section">
<div class="container">
<h2>Built With</h2>
<div class="tech-grid">
<div class="tech-item">
<h3>Python 3.9+</h3>
<p>Modern Python with full async support</p>
</div>
<div class="tech-item">
<h3>Model Context Protocol</h3>
<p>Standardized AI assistant integration</p>
</div>
<div class="tech-item">
<h3>Domino's API</h3>
<p>Unofficial API for pizza ordering</p>
</div>
<div class="tech-item">
<h3>Pydantic</h3>
<p>Data validation and serialization</p>
</div>
</div>
</div>
</section>
<section class="getting-started" id="getting-started">
<div class="container">
<h2>Quick Start</h2>
<p>Get MCPizza running in minutes:</p>
<div class="code-block">
# Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
# Setup environment
uv venv && source .venv/bin/activate
uv pip install pizzapi requests pydantic
# Run demo
python mcpizza/demo_no_real_api.py
</div>
<a href="https://github.com/GrahamMcBain/mcpizza" class="github-link" target="_blank">
🔗 View on GitHub
</a>
</div>
</section>
<footer class="footer">
<div class="container">
<p>© 2025 MCPizza - Built with ❤️ for the MCP ecosystem</p>
<p>Use responsibly and in accordance with Domino's terms of service</p>
</div>
</footer>
</body>
</html>