Zepto MCP Server
Automated ordering system for Zepto Cafe using Playwright and MCP (Model Context Protocol).
Features
- 🚀 Automated order placement
- 🔐 Persistent login sessions (saved in Firefox)
- 📦 Multi-item cart support
- ⚡ Optimized for speed (~35-65 seconds per order)
- 🎯 Address selection with fuzzy matching
Setup
1. Install Dependencies
pip3 install playwright mcp python-dotenv
python3 -m playwright install firefox
Note: python-dotenv is optional - if not installed, the code will use environment variables from Claude Desktop config or system environment.
2. Configure Phone Number and Address
You have two options:
Option A: Use Claude Desktop Config (Recommended)
Add environment variables directly in Claude Desktop config (see Step 4 below). No .env file needed.
Option B: Use .env File (Optional)
If you want to use a .env file, create it (copy from .env.example):
cp .env.example .env
Edit .env and add your phone number and optional default address:
ZEPTO_PHONE_NUMBER=your_phone_number_here
ZEPTO_DEFAULT_ADDRESS=your_address_label_here # Optional: e.g., 'Hsr Home', 'Office New Cafe'
Note: The code will automatically load .env if python-dotenv is installed. If not, it will use system environment variables or Claude Desktop config.
Important: Never commit .env to git - it contains sensitive information.
3. Set Up Login Session
Run the setup script to save your login:
python3 setup_firefox_login.py
This will:
- Open Firefox
- Navigate to Zepto
- Wait for you to log in manually
- Save your session for future orders
4. Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"zepto-cafe": {
"command": "python3",
"args": ["/Users/Pranav_1/zepto-mcp/zepto_mcp_server.py"],
"env": {
"ZEPTO_PHONE_NUMBER": "your_phone_number_here",
"ZEPTO_DEFAULT_ADDRESS": "your_address_label_here" # Optional
}
}
}
}
Usage
Once configured, you can order through Claude Desktop:
- "Order an iced americano to my office address"
- "Can you order a hazelnut latte from Zepto Cafe"
- "Order multiple items: hazelnut latte, almond croissant"
Security
- ✅ Phone number stored in environment variable (not in code)
- ✅ Browser data directories excluded from git
- ✅ Login sessions stored locally (never committed)
- ✅ No API keys or secrets in code
Files Structure
zepto_mcp_server.py- Main MCP serversetup_firefox_login.py- Login setup script.env- Your configuration (not in git)zepto_firefox_data/- Browser session data (not in git)
Troubleshooting
If browser crashes:
- Close all Firefox/Chrome windows
- Delete
zepto_firefox_data/directory - Run
setup_firefox_login.pyagain
License
MIT
Metadata
Release files for iflow-mcp_proddnav-zepto-cafe-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz | 64.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 147.8 kB