@striderlabs/mcp-ubereats
Provides tools for searching restaurants, browsing menus, adding items to cart, placing orders, and tracking deliveries via Uber Eats.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@striderlabs/mcp-ubereats search for sushi restaurants near me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-ubereats
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
Related MCP server: Food402
Installation
npm install -g @striderlabs/mcp-ubereatsOr run directly with npx:
npx @striderlabs/mcp-ubereatsConfiguration
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:
Call
ubereats_status— it will return a login URLOpen the URL in your browser and log in to Uber Eats
Run
ubereats_statusagain to verify the session was savedSession cookies are stored at
~/.strider/ubereats/cookies.jsonSessions persist automatically across restarts
To log out or reset your session:
ubereats_logoutAvailable Tools
Session Management
Tool | Description |
| Check login status; returns login URL if not authenticated |
| Get the login URL to open in a browser |
| Clear stored session cookies (log out) |
Delivery
Tool | Description |
| Set delivery address before searching |
Restaurants & Menus
Tool | Description |
| Search restaurants by name, food type, or cuisine |
| Get restaurant details and full menu |
Cart & Ordering
Tool | Description |
| Add an item to cart with quantity and special instructions |
| View current cart contents and totals |
| Remove all items from cart |
| Preview or place the 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 deliveryRequirements
Node.js 18+
Playwright (Chromium browser auto-installed on first run)
An active Uber Eats account with a saved payment method
How It Works
Headless Chrome — Playwright runs a real browser in the background
Stealth mode — Browser fingerprint mimics a real user to avoid detection
Cookie persistence — Login sessions are saved and reloaded automatically
Structured responses — All tool outputs are JSON for easy parsing
Security
Session cookies stored locally at
~/.strider/ubereats/cookies.jsonNo 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 startLicense
MIT © Strider Labs
Related
@striderlabs/mcp-doordash — DoorDash MCP connector
@striderlabs/mcp-gmail — Gmail MCP connector
Model Context Protocol — Learn more about MCP
Available Tools
11 toolsubereats_add_to_cartA
Add a menu item to the cart. The restaurant must be loaded first via ubereats_get_restaurant. Supports quantity and special instructions.
Inputs: restaurantId (required), itemName (required), quantity, specialInstructions.
ubereats_checkoutA
Preview or place the order. Set confirm=false (default) to preview the order summary including items, fees, and estimated delivery. Set confirm=true to actually place the order. Always preview before placing.
Inputs: confirm (required).
ubereats_clear_cartA
Remove all items from the current cart. Use this to start a new order or switch restaurants.
Inputs: no named parameters.
ubereats_get_restaurantA
Get full details and menu for a specific restaurant. Returns restaurant info (rating, delivery time, fees) and the complete menu organized by category.
Inputs: restaurantId (required).
ubereats_loginA
Get the Uber Eats login URL for the user to authenticate. Returns a URL the user can open in their browser to log in. After logging in, call ubereats_status to verify.
Inputs: no named parameters.
ubereats_logoutA
Clear the stored Uber Eats session cookies, effectively logging out. Use this to reset authentication or switch accounts.
Inputs: no named parameters.
ubereats_searchA
Search for restaurants on Uber Eats. Can search by restaurant name, food type, or cuisine. Returns a list of matching restaurants with delivery info.
Inputs: query (required), cuisine.
ubereats_set_addressA
Set the delivery address for Uber Eats orders. Must be set before searching for restaurants. Provide a full street address including city and zip code.
Inputs: address (required).
ubereats_statusA
Check if the user is logged in to Uber Eats. Returns login status and setup instructions if not authenticated. Always call this before any other Uber Eats operations.
Inputs: no named parameters.
ubereats_track_orderA
Track the status of an active order. Returns order status, estimated delivery time, driver info (if available), and order details.
Inputs: orderId.
ubereats_view_cartA
View the current cart contents, including all items, quantities, prices, and the total cost with delivery fee.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a distinct and non-overlapping purpose, covering authentication, search, cart management, checkout, and tracking without ambiguity.
All tools follow a consistent 'ubereats_<verb>_<noun>' or 'ubereats_<verb>' pattern, making them predictable and easy to understand.
11 tools is well-scoped for a food ordering service, covering all essential steps from login to tracking without being excessive or insufficient.
The tool set covers the full lifecycle of ordering, but lacks a tool to remove individual items or edit quantities in the cart, which is a minor gap.
Maintenance
Related MCP Connectors
DoorDash MCP server for ChatGPT, Claude and any AI agent: search stores, read store menu, add item to cart, preview order total with fees, submit order, list past orders, get order status and reorder a past order in your own DoorDash account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to DoorDash yourself; Cotlet does not store your password and you need no DoorDash API key. About the official DoorDash API: DoorDash has no public API for ordering as a consumer (checked 27 Oct 2026). Its public APIs, Drive and Marketplace, are for merchants and delivery partners. Setup and FAQ: https://cotlet.dev/integrations/doordash-api-mcp-server
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA proof-of-concept Model Context Protocol server that enables LLM applications to interact with Uber Eats, allowing AI agents to browse and order food through natural language.240-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to order food from TGO Yemek by browsing restaurants, managing carts, and completing checkouts. It allows users to handle address selection and order tracking directly through natural language interactions.2 npm12MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables users to interact with KFC's online ordering system via Playwright browser automation. It supports searching the menu, managing an order cart, finding nearby locations, and initiating checkout for pickup or delivery.712 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to discover restaurants and place food delivery orders on Uber Eats and Thuisbezorgd (Just Eat Takeaway). It provides tools for restaurant discovery and order management through normalized platform APIs.7 npm4MIT