Ubereats

io.github.markswendsen-code由 GitHub 账号 markswendsen-code 发布v0.1.0更新于 Oct 24, 2026

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

已验证STDIO仅桌面位置与生活浏览器自动化

概览

AI 生成的概览

非官方 Uber Eats 连接器,让 AI 助手搜索餐厅、浏览菜单、加入购物车、下单并追踪外卖配送。

可以做什么
  • 按名称、菜系或食物类型搜索餐厅,并查看餐厅完整菜单及菜品详情和价格
  • 设置配送地址,并管理登录会话(查看状态、获取登录链接、退出登录)
  • 按数量和特殊要求添加菜品,查看购物车内容或清空购物车
  • 预览结账,仅在显式确认参数下才会真正下单
  • 追踪进行中订单的状态、进度和预计送达时间
适用场景
适合希望助手端到端完成外卖浏览与下单的场景,例如在 Uber Eats 覆盖的地区点餐、重复下单或查看订单进度。若只需要餐厅信息而不下单,则没有必要安装。
运行要求
以本地进程方式通过 npm 或 npx 运行,需要 Node.js 18 及以上版本;首次运行会由 Playwright 安装 Chromium 浏览器。需要一个已绑定支付方式的 Uber Eats 账号,登录通过状态工具返回的浏览器链接完成,会话 Cookie 保存在本地路径。所在地区必须支持 Uber Eats。
安装前请注意
该服务器可以提交真实订单并从已绑定的支付方式扣款,确认前应仔细核对预览结果。它通过带隐身指纹的浏览器自动化操作 Uber Eats,可能与网站条款冲突。会话 Cookie 以明文保存在本地文件,需注意保护。菜单定制选项和动态价格可能与实际下单结果不一致。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ubereats,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

bash
npm install -g @striderlabs/mcp-ubereats

Or run directly with npx:

bash
npx @striderlabs/mcp-ubereats

Configuration

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

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

ToolDescription
ubereats_statusCheck login status; returns login URL if not authenticated
ubereats_loginGet the login URL to open in a browser
ubereats_logoutClear stored session cookies (log out)

Delivery

ToolDescription
ubereats_set_addressSet delivery address before searching

Restaurants & Menus

ToolDescription
ubereats_searchSearch restaurants by name, food type, or cuisine
ubereats_get_restaurantGet restaurant details and full menu

Cart & Ordering

ToolDescription
ubereats_add_to_cartAdd an item to cart with quantity and special instructions
ubereats_view_cartView current cart contents and totals
ubereats_clear_cartRemove all items from cart
ubereats_checkoutPreview or place the order (confirm=true to place)
ubereats_track_orderTrack an active order's status and ETA

Example Usage

Check login status

json
{  "tool": "ubereats_status"}

Set delivery address

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

Search for restaurants

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

Get restaurant menu

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

Add to cart

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

Preview order before placing

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

Place the order

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

Track order

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

Typical Workflow

1. ubereats_status          — check if logged in2. ubereats_set_address     — set where to deliver3. ubereats_search          — find restaurants4. ubereats_get_restaurant  — browse the menu5. ubereats_add_to_cart     — add items6. ubereats_view_cart       — review cart7. 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

bash
git clone https://github.com/markswendsen-code/mcp-ubereats.gitcd mcp-ubereatsnpm installnpm run buildnpm start

License

MIT © Strider Labs

Related

来源:README.md,提交 b517a8c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。