Groupon Mcp

io.github.chrischall由 GitHub 账号 chrischall 发布v1.2.0更新于 Nov 7, 2026

Groupon deals for Claude — search and browse local, goods, and travel deals

概览

AI 生成的概览

搜索和浏览 Groupon 优惠,并可将选定的优惠选项加入已登录的 Groupon 购物车,付款仍由你完成。

可以做什么
  • 按城市和关键词搜索或浏览 Groupon 优惠,可选精简或完整视图
  • 按永久链接或完整网址获取单个优惠详情,含各选项的 id、标题和价格
  • 获取 Groupon 的分类目录树
  • 执行健康检查,解析凭据并向 Groupon 发出一次真实请求
  • 查看已登录 Groupon 购物车中的商品
  • 经确认后将优惠选项加入购物车并返回结账网址,或经确认后清空购物车全部商品
适用场景
适合让助手在 Groupon 上查找本地、商品或旅行优惠并比较选项,或在你自行于浏览器完成结账前先把优惠放入购物车。
运行要求
以 stdio 在本地运行,通常通过 npx 启动,需要 Node.js。查询优惠无需账号或 API 密钥。购物车工具需要已登录的 groupon.com 会话,可由 ContextMint Bridge 浏览器扩展(Chrome)获取,或通过环境变量 GROUPON_SESSION_COOKIE 提供。需要能访问 groupon.com。
安装前请注意
GROUPON_SESSION_COOKIE 是完整的 Cookie 请求头,可授权修改你的购物车,应像密码一样保管。购物车工具会写入账号:groupon_purchase 添加商品,groupon_clear_cart 删除全部条目,两者都需确认提示或预览加 confirmToken 才会执行。该服务器无法下单或付款,需你在结账网址自行支付。README 说明该项目由 AI 开发,使用风险自负。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

groupon-mcp

[CI] [npm] [license]

MCP server for Groupon — search and browse local, goods, and travel deals from Claude via natural language, and add deals to your signed-in Groupon cart once you confirm.

This project was developed and is maintained by AI. Use at your own discretion.

Tools

ToolWhat it doesNeeds sign-in
groupon_search_dealsSearch or browse a city's dealsno
groupon_get_dealOne deal's detail, including each option's id and priceno
groupon_list_categoriesGroupon's category taxonomyno
groupon_healthcheckOne live request to Groupon, reporting what failed if anything didno
groupon_view_cartThe items in your Groupon cartyes
groupon_purchaseAdd a deal option to your cart (after you confirm) and return the checkout URLyes
groupon_clear_cartRemove every item from your cart (after you confirm)yes

The deal reads use Groupon's public consumer endpoint with no API key or account. The cart tools act on your signed-in Groupon account through its session cookie (see below). groupon_purchase cannot place an order: Groupon's checkout is native Apple/Google Pay, card or PayPal, so you complete payment yourself at the checkout URL.

Setup

Add the server to your .mcp.json:

json
{  "mcpServers": {    "groupon": {      "command": "npx",      "args": ["-y", "groupon-mcp"]    }  }}

Cart sign-in (optional)

Reading deals needs no account. The cart tools (groupon_view_cart, groupon_purchase, groupon_clear_cart) use your signed-in groupon.com session, which the server picks up from your browser through the ContextMint Bridge extension:

  1. Install ContextMint Bridge from its releases page. Chrome: download the Chrome zip, unzip it, and load it unpacked at chrome://extensions (Developer mode). Safari isn't available yet (it will ship inside the ContextMint app, which has no public download), so use Chrome for now.

    ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer; fetchproxy's own README (https://github.com/chrischall/fetchproxy#extension) points to it. Its source is public at https://github.com/nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

  2. Sign in at groupon.com in that browser. The first cart call lifts the session cookie; approve the request in the extension when asked.

For local dev without the extension, set GROUPON_SESSION_COOKIE (see .env.example); set GROUPON_DISABLE_FETCHPROXY=1 to turn the browser path off. The cookie authorizes changes to your cart, so treat it like a password. The cart tools only send it to an https://*.groupon.com endpoint, and refuse a GROUPON_GRAPHQL_URL override pointing anywhere else.

Environment

All optional; they mirror the .mcpb manifest's settings (the MCP_CONFIRM_* family is under Confirmations).

variabledefault
GROUPON_SESSION_COOKIEunsetFull Cookie header from a signed-in www.groupon.com request, for the cart tools only. Leave unset to have the bridge pick up your session. Treat it like a password.
GROUPON_DISABLE_FETCHPROXYunset1 turns the browser-bridge path off; the cart tools then rely on GROUPON_SESSION_COOKIE.
GROUPON_GRAPHQL_URLhttps://www.groupon.com/mobilenextapi/graphqlGraphQL endpoint override. The cart tools refuse any override that is not an https://*.groupon.com URL.
GROUPON_CACHE_TTL60Response-cache TTL for reads, in seconds (0 = off). Raise it if you hit rate limits.
FETCHPROXY_WS_PORT37149Concentrator port the ContextMint Bridge connects to. Every MCP on one machine shares it, so move it for all of them or none.
FETCHPROXY_WS_HOST127.0.0.1Bridge bind interface, a literal IP only. Keep on loopback; it exists for hosted deployments in their own network namespace.
FETCHPROXY_IDENTITY_DIR~/.fetchproxy/identity/Absolute path for the bridge's long-term identity keypair.

Confirmations

The cart writes (groupon_purchase, groupon_clear_cart) ask you to confirm before they change anything. A client that can show a confirmation prompt (Claude Code) shows one, unless the server sets MCP_CONFIRM_ELICITATION=off. Elsewhere, the first call changes nothing and returns a preview plus a confirmToken, and only a repeat call with that token proceeds. The token is tied to exactly what was previewed: if the deal's price, the chosen option or quantity, or the cart's contents change between the two calls, the write is refused and a fresh preview is returned. groupon_purchase's preview also shows how many of that option are already in your cart, since Groupon may set the line to the new quantity rather than add to it. It still only fills the cart; you complete payment yourself at the checkout URL. groupon_clear_cart removes only the cart's line items, and accepts the previewed optionIds back as expectedOptionIds so it refuses if the cart has changed; if a removal fails partway it says which items were and were not removed.

variabledefault
MCP_CONFIRM_MODEask-userWhat a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse.
MCP_CONFIRM_ELICITATIONonoff never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE behaviour. Set it for a client that says it can show prompts but never does (the write hangs — opencode 2.0.x). Any other value is treated as on, with a warning on stderr.
MCP_CONFIRM_TTL_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

Development

bash
npm installnpm run build   # tsc + esbuild bundle → dist/npm test        # tsc typecheck + vitest

See CLAUDE.md for architecture, conventions, and gotchas.

License

MIT

来源:README.md,提交 c85cbe3

工具

7

groupon_healthcheck

Verify credentials and upstream reachability

Resolves the credential the way real tools do, then makes one authenticated request to www.groupon.com. Reports which source supplied the credential, whether www.groupon.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a www.groupon.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

无需输入参数。

groupon_search_deals

Search Groupon deals

Search or browse Groupon deals for a city (division). Pass `query` for a free-text search (e.g. "massage", "pizza"); omit it for a plain category/city browse. Returns slim deal summaries by default; set view="full" for Groupon's whole cards.

输入参数viewlimitqueryoffsetdivision

groupon_get_deal

Get a Groupon deal

Fetch a single Groupon deal by its permalink slug (or full deal URL). Returns the slim projection by default (title, subtitle, merchant, price, rating, division, url, and every option's id/title/price/isSoldOut — pass an option id to groupon_purchase); set view="full" for Groupon's whole record.

输入参数viewdealId必填optionId

groupon_list_categories

List Groupon categories

Fetch Groupon's category taxonomy tree. Returns a slim {title, url, children} tree by default; set view="full" for Groupon's whole payload.

输入参数view

groupon_view_cart

View Groupon cart

View the items currently in your signed-in Groupon cart. Requires a Groupon session (GROUPON_SESSION_COOKIE, or the fetchproxy browser bridge signed into groupon.com).

无需输入参数。

groupon_purchase

Add a Groupon deal to your cart

Add a Groupon deal option to your cart, ready for checkout. Once confirmed it adds the item, re-reads the cart to verify the line quantity, and returns the checkout URL for YOU to complete payment. It CANNOT place the order — Groupon checkout is native Apple/Google Pay, card, or PayPal. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

输入参数dealId必填isGiftoptionIdquantityconfirmToken

groupon_clear_cart

Clear your Groupon cart

Remove ALL items from your signed-in Groupon cart. Once confirmed it removes every line item and re-reads the cart to verify it is empty. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

输入参数confirmTokenexpectedOptionIds

版本历史

17
  1. v1.2.0最新Nov 4, 2026
  2. v1.1.10Oct 29, 2026
  3. v1.1.9Oct 17, 2026
  4. v1.1.8Oct 16, 2026
  5. v1.1.7Oct 10, 2026
  6. v1.1.6Oct 10, 2026
  7. v1.1.5Oct 7, 2026
  8. v1.1.4Oct 5, 2026
  9. v1.1.3Oct 3, 2026
  10. v1.1.2Sep 28, 2026
  11. v1.1.1Sep 25, 2026
  12. v1.1.0Sep 24, 2026
  13. v1.0.2Sep 23, 2026
  14. v1.0.1Sep 23, 2026
  15. v1.0.0Sep 20, 2026
  16. v0.4.0Sep 18, 2026
  17. v0.3.3Sep 16, 2026

评分

已满足适用检查项的 90%

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

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分