npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@striderlabs/mcp-ubereats

v0.1.0

Published

MCP server for Uber Eats - let AI agents order food delivery

Readme

@striderlabs/mcp-ubereats

npm MCP Registry License: MIT

MCP server for Uber Eats — let AI agents search restaurants, browse menus, place orders, and track deliveries.

Built by Strider Labs.

Features

  • Search restaurants by name, cuisine, or food type
  • Browse full menus with item details and prices
  • Add items to cart with quantity and special instructions
  • Clear cart and start fresh
  • Place orders with a mandatory confirmation step
  • Track active order status and delivery progress
  • Persistent sessions — stay logged in across restarts

Installation

npm install -g @striderlabs/mcp-ubereats

Or run directly with npx:

npx @striderlabs/mcp-ubereats

Configuration

Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ubereats": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-ubereats"]
    }
  }
}

Authentication

This connector uses Playwright browser automation. On first use:

  1. Call ubereats_status — it will return a login URL
  2. Open the URL in your browser and log in to Uber Eats
  3. Run ubereats_status again to verify the session was saved
  4. Session cookies are stored at ~/.strider/ubereats/cookies.json
  5. Sessions persist automatically across restarts

To log out or reset your session:

ubereats_logout

Available Tools

Session Management

| Tool | Description | |------|-------------| | ubereats_status | Check login status; returns login URL if not authenticated | | ubereats_login | Get the login URL to open in a browser | | ubereats_logout | Clear stored session cookies (log out) |

Delivery

| Tool | Description | |------|-------------| | ubereats_set_address | Set delivery address before searching |

Restaurants & Menus

| Tool | Description | |------|-------------| | ubereats_search | Search restaurants by name, food type, or cuisine | | ubereats_get_restaurant | Get restaurant details and full menu |

Cart & Ordering

| Tool | Description | |------|-------------| | ubereats_add_to_cart | Add an item to cart with quantity and special instructions | | ubereats_view_cart | View current cart contents and totals | | ubereats_clear_cart | Remove all items from cart | | ubereats_checkout | Preview or place the order (confirm=true to place) | | ubereats_track_order | Track an active order's status and ETA |

Example Usage

Check login status

{
  "tool": "ubereats_status"
}

Set delivery address

{
  "tool": "ubereats_set_address",
  "arguments": {
    "address": "123 Main St, San Francisco, CA 94102"
  }
}

Search for restaurants

{
  "tool": "ubereats_search",
  "arguments": {
    "query": "sushi",
    "cuisine": "japanese"
  }
}

Get restaurant menu

{
  "tool": "ubereats_get_restaurant",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf"
  }
}

Add to cart

{
  "tool": "ubereats_add_to_cart",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf",
    "itemName": "Spicy Tuna Roll",
    "quantity": 2,
    "specialInstructions": "No wasabi please"
  }
}

Preview order before placing

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": false
  }
}

Place the order

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": true
  }
}

Track order

{
  "tool": "ubereats_track_order",
  "arguments": {
    "orderId": "abc123"
  }
}

Typical Workflow

1. ubereats_status          — check if logged in
2. ubereats_set_address     — set where to deliver
3. ubereats_search          — find restaurants
4. ubereats_get_restaurant  — browse the menu
5. ubereats_add_to_cart     — add items
6. ubereats_view_cart       — review cart
7. ubereats_checkout        — preview (confirm=false), then place (confirm=true)
8. ubereats_track_order     — track delivery

Requirements

  • Node.js 18+
  • Playwright (Chromium browser auto-installed on first run)
  • An active Uber Eats account with a saved payment method

How It Works

  1. Headless Chrome — Playwright runs a real browser in the background
  2. Stealth mode — Browser fingerprint mimics a real user to avoid detection
  3. Cookie persistence — Login sessions are saved and reloaded automatically
  4. Structured responses — All tool outputs are JSON for easy parsing

Security

  • Session cookies stored locally at ~/.strider/ubereats/cookies.json
  • No credentials are stored — authentication uses the browser-based Uber login flow
  • Cookies never leave your machine

Limitations

  • Uber Eats must be available in your region
  • Menu customizations (modifiers, options) may require additional interaction
  • Order placement requires a valid payment method on your Uber Eats account
  • Dynamic pricing and availability may differ from what is displayed

Development

git clone https://github.com/markswendsen-code/mcp-ubereats.git
cd mcp-ubereats
npm install
npm run build
npm start

License

MIT © Strider Labs

Related