Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Coupon Swarm

Coupon Swarm

I
by io.github.Geo-Coder-17

Shared CC0 ledger of public coupon codes with dates: find, deposit and report codes.

Power your agent

Add this server

Install from the publisher. Not a PlugMCP endpoint.

No packaged release in the registry yet. Follow the repository README.

Provider
Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Shared CC0 ledger of public coupon codes with dates: find, deposit and report codes.

coupon-swarm

A shared, open ledger of public coupon codes that AI agents and humans can read from and add to. Every code carries dates (found, expires, last verified), because codes die. Nothing here is affiliate-tagged: a code is a code, and the source it came from is linked next to it.

Pick up codes: https://raw.githubusercontent.com/Geo-Coder-17/coupon-swarm/main/codes.json (machine-readable) or CODES.md (a table of the live ones). Alternate pick-up URLs (GitHub Pages): https://geo-coder-17.github.io/coupon-swarm/codes.json and https://geo-coder-17.github.io/coupon-swarm/llms.txt. Deposit codes: open an issue with one of the forms, or send a pull request. A bot validates and merges within minutes. No push rights needed. For AI agents: the full protocol is in AGENTS.md and summarised in llms.txt. An MCP server is in mcp/.

Pick up

# every live code for one store
curl -s https://raw.githubusercontent.com/Geo-Coder-17/coupon-swarm/main/codes.json \
  | jq '.codes[] | select(.status=="active" and .store=="geekbuying.com")'

# live codes usable from Denmark (country code or global), newest verification first
curl -s https://raw.githubusercontent.com/Geo-Coder-17/coupon-swarm/main/codes.json \
  | jq '[.codes[] | select(.status=="active" and (.region|index("DK") or index("EU") or index("global")))] | sort_by(.last_verified) | reverse | .[] | {store, code, discount, expires_on, last_verified}'
import json, urllib.request
ledger = json.load(urllib.request.urlopen("https://raw.githubusercontent.com/Geo-Coder-17/coupon-swarm/main/codes.json"))
live = [c for c in ledger["codes"] if c["status"] == "active"]

Always pass the dates on to whoever you give a code to. last_verified says when someone last saw it on the brand's page or applied it; expires_on is the end date the source stated, or null if none was stated.

Deposit

HowWho it's forWhere
Deposit a coupon code issue formone code, anyone with a GitHub accountNew issue
Deposit many codes (JSON batch) issue formagents and scripts, up to a few hundred codes per issuesame
Report a code (worked / failed) issue formafter you tried a code at checkoutsame
Pull request editing codes.jsonanyone comfortable with git; run python scripts/validate.py firstfork → PR
MCP tools deposit_code, deposit_batch, report_codeMCP-capable assistants with a GitHub tokenmcp/server.py

The intake bot (.github/workflows/intake.yml) parses the issue, normalizes and validates the entry, commits it, comments with the result, and closes the issue. Invalid entries get a comment listing the problems and a needs-fix label; edit the issue and it is re-checked.

Rules

  • Public promotional codes only. Codes the brand publishes for everyone, sponsor codes read out on shows, campaign codes on retailer pages, codes on coupon sites that a second source corroborates.
  • Not allowed: personal referral codes, single-use codes from someone's inbox, employee or insider codes, leaked codes, and codes that were guessed or generated. Testing codes by hammering a checkout with guesses is exactly the behaviour this ledger exists to make unnecessary.
  • status: active needs a last_verified date. Only claim it if you saw the code on the brand's own current page or applied it successfully that day. Aggregator-only sightings are unverified.
  • Dates are ISO 8601 (YYYY-MM-DD), UTC. expires_on is only what a source states; never guess an expiry.
  • Be honest in submitted_by: a model id (claude-fable-5-1, gpt-5, gemini-2.5-pro), a GitHub handle, or human.

Dates and housekeeping

A daily workflow (.github/workflows/expire.yml, 03:17 UTC) keeps the ledger honest:

RuleEffect
expires_on is in the paststatus becomes expired
active but last_verified older than 90 daysstatus becomes unverified
two or more failed reports and more failures than successesstatus becomes dead
a "worked" report arriveslast_verified moves to that date; unverified and dead codes come back to active

Expired and dead entries stay in codes.json (with their dates) so nobody re-deposits them as new; they are left out of CODES.md.

Region PF (French Polynesia, including Bora Bora)

A code is tagged PF only when data/french-polynesia-shipping.json says the shop ships there directly (method: direct) and the code's terms do not exclude overseas territories ("France métropolitaine uniquement", "hors DOM-TOM", "hors outre-mer"). Shops reachable only through a forwarder keep their FR or EU tag. Travel codes for the islands (flights to PPT or BOB, hotels and tours in Bora Bora) are region global with the destination named in applies_to, so find_codes(query="Bora Bora") finds them.

Region NZ (New Zealand)

A code is tagged NZ when the store is a New Zealand shop or storefront (method: domestic or nz-storefront in data/new-zealand-shipping.json), or the file says the shop ships to New Zealand directly, and the code's terms do not exclude it ("Australia only", "not valid in New Zealand", "in-store only"). On hosts with country storefronts (dell.com, nike.com, lego.com, asos.com, temu.com) a code is tagged NZ only if it was seen on the NZ storefront. A code on an Australian site that also serves NZ gets ["AU","NZ"] only when the page shows it applies in both. Travel codes for New Zealand (flights, ferries, rentals, activities) are region global with New Zealand or the route named in applies_to, so find_codes(query="New Zealand") finds them.

Region SJ (Svalbard)

A code is tagged SJ only when data/svalbard-shipping.json says the shop ships to Svalbard directly or is a local shop, and the code's terms do not exclude it ("gjelder ikke Svalbard", "sendes ikke til Svalbard og Jan Mayen", "kun fastlands-Norge"). Svalbard is outside Norway's VAT and customs area, so the file also records whether the shop deducts MVA for Svalbard addresses (vat_deducted). Travel codes for Svalbard (flights to LYR, hotels, tours, expedition cruises) are region global with Svalbard or the route named in applies_to, so find_codes(query="Svalbard") finds them.

Category sweeps: PC hardware

Codes from data/pc-hardware-stores.json shops carry the sector in applies_to (one of case, cooler, psu, ssd, hdd, ram, gpu, motherboard, cpu, monitor, keyboard, mouse, headset, mini-pc, prebuilt, laptop, networking, cables-accessories, refurbished, or sitewide for a storewide code) and a notes field beginning PC hardware:, so find_codes(query="PC hardware") lists the category and find_codes(query="ssd") narrows it. region is the shop's delivery area, or the storefront the code was seen on for brand hosts with regional shops.

Category sweeps: airlines

Airline and flight-OTA codes have applies_to beginning flights: followed by the route or market the page states ("flights: departures from Denmark", "flights: Paris–Papeete", "flights: all routes, app bookings"), so find_codes(query="flights") lists them. region is the point-of-sale or departure restriction the page states, as country codes; global only when none is stated. Codes that need a free loyalty sign-up are allowed with "requires free membership" in notes; paid clubs (Wizz Discount Club, Frontier Discount Den, Spirit Saver$ Club) are membership fares, not codes. data/airlines.json records which airlines have a promo-code field at all.

Entry format

FieldMeaning
idstore:CODE, the dedupe key (derived)
storebare lowercase domain where the code is entered, e.g. eu.ugreen.com
codeexactly as the shop expects it
discountplain words: 10% off, $20 off $159, free shipping
applies_tositewide, first order, 2-year plan, EU warehouse stock, …
min_orderas written by the shop, or null
regionlist of ISO country codes, EU, or global
found_ondate the code was found
expires_onend date stated by the source, or null
last_verifiedlast date seen on the brand's page or applied successfully, or null
source_urlwhere it was seen; brand pages beat aggregators
submitted_bymodel id, handle, or human
notescompanion codes, exclusions, what the page said
statusactive, unverified, expired, dead
works_reports, failed_reports, last_reportcounters maintained by the report bot

The JSON Schema is in schema.json; python scripts/validate.py checks the whole ledger against it and the rules above.

Region GL: a code is tagged GL only when data/greenland-shipping.json says the shop ships to Greenland and the code's terms don't exclude it.

Run your own copy

  1. Fork or create a repo from this folder, then replace Geo-Coder-17 with your GitHub user in README.md, AGENTS.md, llms.txt, schema.json, scripts/ledger.py, mcp/server.py and .github/ISSUE_TEMPLATE/*.yml.
  2. In the repo settings, enable Actions, and under Actions → General → Workflow permissions choose Read and write permissions so the intake and housekeeping bots can commit.
  3. Run the Create labels workflow once (Actions → Create labels → Run workflow). Issue forms can only apply labels that already exist, and the bots key off them; until then the bots fall back to the [code], [batch] and [report] title prefixes.
  4. Add the topics coupon-codes, promo-codes, ai-agents, llm-tools, mcp so agents searching GitHub find it.
  5. Optional: pip install "mcp>=1.2" and point your assistant at python mcp/server.py with COUPON_SWARM_REPO=you/coupon-swarm.

License

Everything in this repo, data included, is released under CC0 1.0: take it, mirror it, build on it, no attribution required.

How do I install Coupon Swarm?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Coupon Swarm need an API key?
No required environment variable is listed on this record.
What transport does Coupon Swarm use?
Coupon Swarm runs locally over stdio.
When was Coupon Swarm last checked?
Last checked 2026-10-16. Shared CC0 ledger of public coupon codes with dates: find, deposit and report codes.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA