About doordash
doordash is an MCP server for AI agents to order DoorDash food delivery through browser automation. It supports restaurant and menu discovery, order placement with confirmation, and order tracking, with persistent sessions and MFA handling.
Key features
- 01Search restaurants by cuisine or name
- 02Browse menus and item prices
- 03Add items with quantities and instructions
- 04Place orders with confirmation
- 05Track order status
- 06Persist sessions and handle MFA
Use cases
- 01Find nearby restaurants for a meal
- 02Review menu options before ordering
- 03Submit a delivery order through an agent
- 04Check the status of an existing order
MCP support
The server exposes DoorDash restaurant search, menu, cart, ordering, and tracking capabilities to MCP clients. It uses Playwright browser automation to interact with DoorDash.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @striderlabs/mcp-doordashDOORDASH_EMAILDoorDash email/phone for authenticationDOORDASH_PASSWORDSecretDoorDash account passwordDOORDASH_ADDRESSDelivery address zip code or full addressLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
9Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project README@striderlabs/mcp-doordash
Order food delivery via DoorDash using AI agents
Part of Strider Labs — action execution for personal AI agents.
Get Started in 2 Minutes
For Claude Desktop Users
- Add this to
~/.openclaw/config.jsonor your Claude Desktop config:
{
"mcpServers": {
"doordash": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-doordash"]
}
}
}
- Restart Claude.
- Tell Claude: "Order Thai food from nearby for delivery today"
Your agent can now place orders. That's it.
Installation (NPM)
npm install @striderlabs/mcp-doordash
Or with npx directly:
npx @striderlabs/mcp-doordash
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
- 🔄 Automatic MFA - handles multi-factor authentication
- 📱 Per-user credentials - encrypted session storage
Tested & Compatible
| Component | Version | Status |
|---|---|---|
| MCP SDK | ^1.0.0 | ✅ |
| Node.js | 18+ | ✅ |
| Claude Desktop | Latest | ✅ |
| Claude (API) | claude-3.5-sonnet+ | ✅ |
| Anthropic SDK | ^0.20+ | ✅ |
Metrics
- Weekly downloads: 395 (Apr 10-17, 2026) — #1 Strider Labs connector (+24% growth)
- Status: ✅ Live in production
- Reliability: 85%+ task completion rate
- Discovery: npm, Claude Plugins, mcpservers.org, ClawHub, PulseMCP
Available Elsewhere
- npm: npmjs.com/@striderlabs/mcp-doordash
- Claude Plugins: Search "Strider Labs" in Claude
- mcpservers.org: Strider Labs DoorDash
- Full Strider Labs: github.com/striderlabsdev/striderlabs
How It Works
For Agents
Your agent can use these capabilities:
// Search for restaurants
restaurants = search_restaurants({
location: "San Francisco, CA",
cuisine: "Thai",
max_delivery_time: 30
})
// Browse a restaurant's menu
menu = get_restaurant_menu({
restaurant_id: "thai-place-downtown",
search: "Pad Thai"
})
// Place an order
order = place_order({
restaurant_id: "thai-place-downtown",
items: [
{ item_id: "pad_thai", quantity: 1 },
{ item_id: "spring_rolls", quantity: 2 }
],
delivery_address: "123 Main St, San Francisco, CA",
special_instructions: "Extra lime on the side"
})
// Track delivery
status = track_order({ order_id: order.order_id })
Session Management
- Each user has encrypted, persistent credentials
- Automatic OAuth token refresh
- MFA handling (SMS/email)
- Sessions survive agent restarts
Reliability
- 85%+ task completion rate
- Automated UI change detection (connectors update when DoorDash changes)
- Fallback paths for failures
- 24/7 monitoring + alerting
Configuration
Environment Variables
# Optional: Use a specific DoorDash account
[email protected]
DOORDASH_PASSWORD=your-password # Highly recommend using .env file
Self-Hosted
# Clone the repo
git clone https://github.com/striderlabsdev/mcp-doordash
cd mcp-doordash
# Install dependencies
npm install
# Start the server
npm start
# Your agent can now connect to localhost:3000
Architecture
How We Connect
This connector uses browser automation (Playwright) to interact with DoorDash, because DoorDash doesn't have a public API. Here's why that's safe and reliable:
- User-controlled: Your agent only accesses your own DoorDash account
- Session-based: We store your login session securely, not your password
- Change-aware: We detect DoorDash UI changes and alert immediately
- Fingerprinting: We use realistic browser profiles to avoid bot detection
- Rate-limited: We respect DoorDash's infrastructure with appropriate delays
Security
- Credentials stored encrypted in your local
.envor secure vault - Sessions isolated per user
- No data sent to third parties
- MIT Licensed — audit the code yourself
Support
Contributing
We welcome contributions! Areas of interest:
- Bug reports and fixes
- Feature requests (new restaurants, cuisines, etc.)
- Performance improvements
- Documentation enhancements
See CONTRIBUTING.md for guidelines.
License
MIT — Free to use, modify, and distribute. See LICENSE for details.
Built by Strider Labs — Making AI agents actually useful.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.