Skip to content

markswendsen-code/mcp-doordash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@striderlabs/mcp-doordash

npm MCP Registry License: MIT

MCP server for DoorDash - let AI agents order food delivery.

Built by Strider Labs.

Features

  • 🔍 Search restaurants by name, cuisine, or food type
  • 📜 Browse menus with full item details and prices
  • 🛒 Add to cart with quantity and special instructions
  • 💳 Place orders with confirmation step
  • 📍 Track orders with real-time status updates
  • 🔐 Persistent sessions - stay logged in across restarts

Installation

npm install -g @striderlabs/mcp-doordash

Or with npx:

npx @striderlabs/mcp-doordash

Configuration

Add to your MCP client configuration (e.g., Claude Desktop):

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

Authentication

The connector uses browser automation with Playwright. On first use:

  1. Run doordash_auth_check - it will return a login URL
  2. Log in to DoorDash in a browser
  3. Session cookies are automatically saved to ~/.config/striderlabs-mcp-doordash/cookies.json
  4. Sessions persist across restarts

To clear your session:

doordash_auth_clear

Available Tools

Authentication

Tool Description
doordash_auth_check Check login status, get login URL if needed
doordash_auth_clear Clear stored session (log out)

Ordering

Tool Description
doordash_set_address Set delivery address
doordash_search Search restaurants by query or cuisine
doordash_menu Get full menu for a restaurant
doordash_add_to_cart Add item to cart
doordash_cart View current cart
doordash_checkout Preview or place order
doordash_track_order Track order status

Example Usage

Search for restaurants

{
  "tool": "doordash_search",
  "arguments": {
    "query": "pizza",
    "cuisine": "italian"
  }
}

Get a menu

{
  "tool": "doordash_menu",
  "arguments": {
    "restaurantId": "123456"
  }
}

Add to cart

{
  "tool": "doordash_add_to_cart",
  "arguments": {
    "restaurantId": "123456",
    "itemName": "Pepperoni Pizza",
    "quantity": 2,
    "specialInstructions": "Extra crispy"
  }
}

Place order (with confirmation)

// First, preview the order
{
  "tool": "doordash_checkout",
  "arguments": {
    "confirm": false
  }
}

// Then, place the order
{
  "tool": "doordash_checkout",
  "arguments": {
    "confirm": true
  }
}

Requirements

  • Node.js 18+
  • Playwright browsers (auto-installed on first run)

How It Works

This connector uses Playwright for browser automation:

  1. Headless Chrome - runs a real browser in the background
  2. Cookie persistence - maintains logged-in state
  3. Stealth mode - uses realistic browser fingerprints
  4. Structured responses - all data returned as JSON

Security

  • Session cookies stored locally in ~/.config/striderlabs-mcp-doordash/
  • No credentials stored - uses browser-based OAuth flow
  • Cookies encrypted using your system keychain (where available)

Limitations

  • DoorDash must be available in your region
  • Some menu customizations may not be fully supported
  • Order placement requires a valid payment method on your DoorDash account

Development

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

License

MIT © Strider Labs

Related

Releases

No releases published

Packages

 
 
 

Contributors