Groupon Mcp

io.github.chrischallPublished by GitHub account chrischallv1.2.0Updated Nov 7, 2026

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

Overview

AI-generated overview

Searches and browses Groupon deals and can add a chosen deal option to your signed-in Groupon cart, leaving payment to you.

What you can do
  • Search or browse Groupon deals by city and free-text query, with slim or full views
  • Fetch a single deal by permalink or URL, including each option's id, title and price
  • List Groupon's category taxonomy tree
  • Run a healthcheck that resolves the credential and makes one live request to Groupon
  • View the items in your signed-in Groupon cart
  • Add a deal option to the cart after confirmation and return the checkout URL, or clear all cart items after confirmation
When to use it
Useful when you want an assistant to find local, goods or travel deals on Groupon and compare options, or to stage a deal in your cart before you finish checkout yourself in the browser.
Requirements
Runs locally over stdio, typically via npx with Node.js. Deal reads need no account or API key. Cart tools need a signed-in groupon.com session, either picked up through the ContextMint Bridge browser extension (Chrome) or supplied via the GROUPON_SESSION_COOKIE environment variable. Network access to groupon.com is required.
Before you install
GROUPON_SESSION_COOKIE is a full Cookie header that authorizes changes to your cart; treat it like a password. The cart tools write to your account: groupon_purchase adds items and groupon_clear_cart removes every line item, both gated by a confirmation prompt or a preview plus confirmToken. The server cannot place orders or take payment; you pay at the checkout URL. The README states the project is AI-developed and used at your own discretion.

Installation

In SourceWeft

  1. Open Groupon Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit c85cbe3

Tools

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.

Takes no parameters.

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.

Parametersviewlimitqueryoffsetdivision

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.

ParametersviewdealIdrequiredoptionId

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.

Parametersview

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).

Takes no parameters.

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).

ParametersdealIdrequiredisGiftoptionIdquantityconfirmToken

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).

ParametersconfirmTokenexpectedOptionIds

Version history

17
  1. v1.2.0LatestNov 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

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts