Skip to main content

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

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)

Source distribution for iflow-mcp_proddnav-zepto-cafe-mcp 0.1.2
File Size Uploaded
iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz 64.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_proddnav-zepto-cafe-mcp 0.1.2
File Interpreter ABI Platform
iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 147.8 kB

Release files / iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz

Download URL iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2.tar.gz
Size 64.4 kB
Tags Source
SHA-256 checksum
How to use checksums
833da570e986d90245a835c137954130fb22d5af53be99f8c4aed9a09af46bb2
BLAKE2b-256 checksum
How to use checksums
cdca32f97cc6a0e398e597ce0e257eaada96c61c3dc178071e2506411526d902
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl

Download URL iflow_mcp_proddnav_zepto_cafe_mcp-0.1.2-py3-none-any.whl
Size 83.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbc424c840ceb16bd9e977aed1f724f00018b0c187645fd4fcbef3cb0e75e4cc
BLAKE2b-256 checksum
How to use checksums
22cad6b29c72e55d33555789e97f2f3b1e676876280efd0e7af3a5a8f9b67c50
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page