Skip to main content

Automated ordering system for Zepto Cafe using Playwright and MCP

Project description

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:

  1. Open Firefox
  2. Navigate to Zepto
  3. Wait for you to log in manually
  4. 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 server
  • setup_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:

  1. Close all Firefox/Chrome windows
  2. Delete zepto_firefox_data/ directory
  3. Run setup_firefox_login.py again

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz (64.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 64.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 833da570e986d90245a835c137954130fb22d5af53be99f8c4aed9a09af46bb2
MD5 7e1dbf9773927a3b6036666042312343
BLAKE2b-256 cdca32f97cc6a0e398e597ce0e257eaada96c61c3dc178071e2506411526d902

See more details on using hashes here.

File details

Details for the file iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 83.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bbc424c840ceb16bd9e977aed1f724f00018b0c187645fd4fcbef3cb0e75e4cc
MD5 5cbc9088ed2024524c8a618c4f4c1bae
BLAKE2b-256 22cad6b29c72e55d33555789e97f2f3b1e676876280efd0e7af3a5a8f9b67c50

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page