DoorDash MCP服务器

一个让AI代理无需浏览器即可搜索餐厅、浏览菜单、比较价格和管理购物车的模型上下文协议服务器。

  • by SpunkySarb
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 SpunkySarb/doordash-mcp

使用说明

DoorDash MCP服务器

一个MCP(模型上下文协议)服务器,允许AI代理搜索餐厅、浏览菜单、比较价格和管理DoorDash购物车——所有这些都不需要打开浏览器或在HTML解析上浪费令牌。

运作原理

该MCP服务器运行一个轻量级后台浏览器,处理身份验证和API调用,而不是使用基于浏览器的AI代理(它接受解析HTML的上下文和令牌)。你的AI代理可以获得干净的JSON——没有HTML,没有截图,没有浪费的令牌。

在引擎盖下,它通过维护会话的Playwright浏览器实例使用DoorDash的内部GraphQL API(从网络流量反向工程)。

特性

工具 说明
login_check 检查您的DoorDash会话是否处于活动状态
search_restaurants 按关键字搜索餐馆和食物
get_store_menu 获取包含价格、优惠和徽章的完整菜单
add_to_cart 将商品添加到购物车
remove_from_cart 从购物车中删除商品
list_carts 查看所有活动购物车
order_history 获取最近的订单历史记录

优惠和促销活动(买一送一、DashPass优惠等)出现在搜索结果和菜单项中。

设置

1.安装

git clone <this-repo>
cd doordash-mcp
npm install
npx playwright install chromium

2.配置电子邮件

cp .env.example .env

编辑 .env 并设置您的DoorDash帐户电子邮件:

DOORDASH_EMAIL=your-email@example.com

3.登录(一次性)

node login.js

这将打开浏览器,向您的电子邮件/手机发送OTP,并保存会话。你只需要做一次(或者当你的会话到期时)。

在无头Linux上: 脚本通过Xvfb自动启动虚拟显示。确保 xvfb 已安装(sudo apt install xvfb).

4.添加到克劳德代码

添加 ~/.claude/settings.json:

{
  "mcpServers": {
    "doordash": {
      "command": "node",
      "args": ["/absolute/path/to/doordash-mcp/mcp-server.js"]
    }
  }
}

重新启动Claude Code以获取新服务器。

用法

配置后,只需自然地与您的AI代理对话:

  • “搜索我附近的biryani”
  • “给我看看必胜客菜单”
  • “Thanjai餐厅最便宜的dosa是什么?”
  • “将2 Masala Dosas添加到我的购物车”
  • “我上次点了什么?”
  • “给我找个有优惠的汉堡店”

间谍工具的工作原理

想要发现新的端点或进行调试吗?这 spy.js 脚本打开浏览器,并在您浏览时记录所有DoorDash API流量:

node spy.js

正常浏览DoorDash——搜索、查看菜单、添加到购物车。所有API调用都被记录到 logs/api-calls.jsonl。完成后关闭浏览器。

建筑

AI Agent  ──(MCP stdio)──>  mcp-server.js  ──(GraphQL via Playwright)──>  DoorDash API
                                 │
                            browser-data/    (persistent session cookies)
  • 没有无头HTTP:Cloudflare阻止普通HTTP请求。服务器使用真实的浏览器(在macOS上位于屏幕外,或在Linux上通过Xvfb)
  • 持久会话:登录一次,浏览器配置文件在 browser-data/ 让你的饼干保持活力
  • 最小令牌:AI代理获得结构化JSON,而不是HTML

平台说明

平台 如何运行
macOS 浏览器窗口位于屏幕外(-32000,-32000)
带显示器的Linux 与macOS相同
Linux无头(SSH) 自动启动Xvfb虚拟显示

免责声明

该项目对DoorDash的内部web API进行逆向工程,以供个人使用。它与DoorDash没有任何关联、背书或联系。使用风险自负——端点可能会在不另行通知的情况下发生变化,自动访问可能会违反DoorDash的服务条款。

许可证

麻省理工学院