关于 ubereats
ubereats 是一个供 AI Agent 操作 Uber Eats 的 MCP 服务,可搜索餐厅、查看菜单、下单并跟踪配送。它通过浏览器登录并在本地持久保存会话,结账前支持确认步骤。
主要功能
- 01按名称、菜系或食物搜索餐厅
- 02查看菜单、商品详情和价格
- 03管理购物车及特殊说明
- 04确认后提交订单
- 05跟踪订单状态和配送进度
- 06跨重启保存登录会话
适用场景
- 01按配送地址查找餐厅
- 02比较菜单并挑选菜品
- 03预览购物车后确认下单
- 04查看已下订单的配送进度
MCP 相关
该 MCP 服务向兼容客户端提供 Uber Eats 登录状态、餐厅搜索、菜单浏览、购物车、结账和订单跟踪工具。下单需要显式确认。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
11收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
@striderlabs/mcp-ubereats
Uber Eats 的 MCP 服务——让 AI Agent 搜索餐厅、浏览菜单、下单并追踪配送。
由 Strider Labs 构建。
功能
- 按名称、菜系或食物类型搜索餐厅
- 浏览完整菜单,查看菜品详情和价格
- 将菜品添加到购物车,并设置数量和特殊说明
- 清空购物车并重新开始
- 下单前必须经过确认步骤
- 追踪进行中订单的状态和配送进度
- 会话持久化——重启后仍保持登录状态
安装
npm install -g @striderlabs/mcp-ubereats
也可以使用 npx 直接运行:
npx @striderlabs/mcp-ubereats
配置
添加到 MCP 客户端配置中(例如,Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ubereats": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-ubereats"]
}
}
}
身份验证
此连接器使用 Playwright 浏览器自动化。首次使用时:
- 调用
ubereats_status——它会返回登录 URL - 在浏览器中打开该 URL 并登录 Uber Eats
- 再次运行
ubereats_status,确认会话已保存 - 会话 Cookie 保存在
~/.strider/ubereats/cookies.json - 会话会在重启后自动保留
要退出登录或重置会话:
ubereats_logout
可用工具
会话管理
| 工具 | 描述 |
|---|---|
ubereats_status | 检查登录状态;如果尚未通过身份验证,则返回登录 URL |
ubereats_login | 获取用于在浏览器中打开的登录 URL |
ubereats_logout | 清除已存储的会话 Cookie(退出登录) |
配送
| 工具 | 描述 |
|---|---|
ubereats_set_address | 搜索前设置配送地址 |
餐厅和菜单
| 工具 | 描述 |
|---|---|
ubereats_search | 按名称、食物类型或菜系搜索餐厅 |
ubereats_get_restaurant | 获取餐厅详情和完整菜单 |
购物车和下单
| 工具 | 描述 |
|---|---|
ubereats_add_to_cart | 将菜品添加到购物车,并设置数量和特殊说明 |
ubereats_view_cart | 查看当前购物车内容和总价 |
ubereats_clear_cart | 移除购物车中的所有菜品 |
ubereats_checkout | 预览或下单(设置 confirm=true 即可下单) |
ubereats_track_order | 追踪进行中订单的状态和预计送达时间 |
使用示例
检查登录状态
{
"tool": "ubereats_status"
}
设置配送地址
{
"tool": "ubereats_set_address",
"arguments": {
"address": "123 Main St, San Francisco, CA 94102"
}
}
搜索餐厅
{
"tool": "ubereats_search",
"arguments": {
"query": "sushi",
"cuisine": "japanese"
}
}
获取餐厅菜单
{
"tool": "ubereats_get_restaurant",
"arguments": {
"restaurantId": "nobu-restaurant-sf"
}
}
添加到购物车
{
"tool": "ubereats_add_to_cart",
"arguments": {
"restaurantId": "nobu-restaurant-sf",
"itemName": "Spicy Tuna Roll",
"quantity": 2,
"specialInstructions": "No wasabi please"
}
}
下单前预览订单
{
"tool": "ubereats_checkout",
"arguments": {
"confirm": false
}
}
下单
{
"tool": "ubereats_checkout",
"arguments": {
"confirm": true
}
}
追踪订单
{
"tool": "ubereats_track_order",
"arguments": {
"orderId": "abc123"
}
}
典型工作流
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
要求
- Node.js 18+
- Playwright(首次运行时会自动安装 Chromium 浏览器)
- 拥有已保存付款方式的有效 Uber Eats 账户
工作原理
- 无头 Chrome — Playwright 在后台运行真实浏览器
- 隐身模式 — 浏览器指纹模拟真实用户,以避免被检测
- Cookie 持久化 — 登录会话会自动保存并重新加载
- 结构化响应 — 所有工具输出均为 JSON,便于解析
安全性
- 会话 Cookie 在本地存储于
~/.strider/ubereats/cookies.json - 不存储凭据——身份验证使用基于浏览器的 Uber 登录流程
- Cookie 不会离开你的设备
限制
- Uber Eats 必须在你所在的地区提供服务
- 自定义菜单(修改项、选项)可能需要额外交互
- 下单需要 Uber Eats 账户中有有效的付款方式
- 动态定价和商品供应情况可能与显示内容不同
开发
git clone https://github.com/markswendsen-code/mcp-ubereats.git
cd mcp-ubereats
npm install
npm run build
npm start
许可证
MIT © Strider Labs
相关项目
- @striderlabs/mcp-doordash — DoorDash MCP 连接器
- @striderlabs/mcp-gmail — Gmail MCP 连接器
- Model Context Protocol — 详细了解 MCP
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。