McClipFace MCP
An MCP server that provides AI agents with tools to look up current coupon codes, promo codes, and deals for various stores and products. It supports finding coupons by merchant or product, retrieving weekly deal digests, discovering deals by category, and generating deep links. It also allows agents to report anonymous coupon outcomes to help improve the service.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcclipface.com/mcpWhat its tools do
4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to getclippy.co ·
- Passed Endpoint and vendor documentation share a domain
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Find coupon codes for a specific store or product
- Retrieve a weekly digest of current deals
- Discover deals based on categories or keywords
- Generate tracked deep links for product pages
Source and maintenance
Protocol and capabilities
- Server
- clippy-mc-clipface 3.1.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
find_coupons — Find coupon codes for a store
Current coupon codes, promo codes, discount codes and deals for one store the shopper names (also when they ask to buy or check out there). Optional target_url/target_urls: a picked product page for a deep link. Results carry the rules that apply to them.
{
"type": "object",
"required": [
"merchant"
],
"properties": {
"currency": {
"type": "string",
"default": "USD",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 code, uppercase (default USD). Only offers in this currency are returned (USD leaves out non-US stores)."
},
"merchant": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Store name or domain, e.g. \"DHgate\" or \"dhgate.com\"."
},
"target_url": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Optional: a product page on the matched store's own website that the shopper picked (http or https; never a cart, checkout, account or order page), used only to return a shopping link to that page in deep_link. Any query string or fragment is removed before use; the address isn't logged, stored, cached or counted by us, and for some stores it's passed to the store's affiliate network only to build the link. Leave it out for a plain store lookup."
},
"target_urls": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"maxItems": 5,
"minItems": 1,
"description": "Optional, instead of target_url: up to 5 such addresses (e.g. every pick in a roundup), same rules; deep_links then holds one link per address, in order."
},
"client_install_id": {
"type": "string",
"maxLength": 36,
"minLength": 36,
"description": "Optional: the random install ID (a UUID) from the McClipFace skill, if it has one; never derived from the shopper. Only counted, as a monthly-salted hash, for monthly active installs; never stored as sent or linked to the store, codes or reports. Leave it out if there is none."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"offers",
"disclosure"
],
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string"
},
"scope": {
"type": "string"
},
"ends_at": {
"type": [
"string",
"null"
]
},
"tracked": {
"type": "boolean"
},
"verified": {
"type": "boolean"
},
"entry_url": {
"type": [
"string",
"null"
]
},
"min_spend": {
"type": [
"number",
"null"
]
},
"offer_type": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"store_domain": {
"type": [
"string",
"null"
]
},
"merchant_display": {
"type": [
"string",
"null"
]
}
}
}
},
"status": {
"type": "string"
},
"deep_link": {
"type": "object"
},
"deep_links": {
"type": "array"
},
"disclosure": {
"type": "string"
},
"report_hint": {
"type": "string"
},
"store_match": {
"type": "string"
}
}
}{
"title": "Find coupon codes for a store",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}find_product_coupons — Find coupon codes for a product
Coupon codes, promo codes and discount codes for a named product across stores; product codes work only on that item. For a store, use find_coupons.
{
"type": "object",
"required": [
"product"
],
"properties": {
"product": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Product name, short and specific, e.g. \"dyson\" or \"Dyson vacuum\". Not a store name: use find_coupons for a store."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Optional: the product's category in McClipFace's taxonomy, so results stay in it inferred from what the shopper means, never from a keyword (honey for the pantry: grocery; honey face wash: beauty); omit when unsure. One of: asian-fashion, audio, auto, bags, beauty, bedding, cleaning, computers, education, electronics, eyewear, fashion, fragrance, furniture, gaming, garden, gifts-food, golf, grocery, grooming, haircare, health, home, home-decor, home-improvement, household-essentials, j-beauty, japanese-fashion, jewelry, k-beauty, kitchen, korean-fashion, makeup, marketplace, office-supplies, oral-care, otc-medicine, personal-care, pets, phones, photo-editing, photo-printing, photography, skincare, smart-home, software, sports-outdoors, toys-kids, travel. A close name is mapped to the nearest one; an unknown one is ignored."
},
"currency": {
"type": "string",
"default": "USD",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 code, uppercase (default USD). Only offers in this currency are returned (USD leaves out non-US stores)."
},
"client_install_id": {
"type": "string",
"maxLength": 36,
"minLength": 36,
"description": "Optional: the random install ID (a UUID) from the McClipFace skill, if it has one; never derived from the shopper. Only counted, as a monthly-salted hash, for monthly active installs; never stored as sent or linked to the store, codes or reports. Leave it out if there is none."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"offers",
"disclosure"
],
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string"
},
"scope": {
"type": "string"
},
"ends_at": {
"type": [
"string",
"null"
]
},
"tracked": {
"type": "boolean"
},
"verified": {
"type": "boolean"
},
"entry_url": {
"type": [
"string",
"null"
]
},
"min_spend": {
"type": [
"number",
"null"
]
},
"offer_type": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"store_domain": {
"type": [
"string",
"null"
]
},
"merchant_display": {
"type": [
"string",
"null"
]
}
}
}
},
"status": {
"type": "string"
},
"deep_link": {
"type": "object"
},
"deep_links": {
"type": "array"
},
"disclosure": {
"type": "string"
},
"report_hint": {
"type": "string"
},
"store_match": {
"type": "string"
}
}
}{
"title": "Find coupon codes for a product",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}report_coupon_result — Report whether a coupon code worked
Call this the turn the shopper says a code worked or failed. Records whether a coupon code or no-code deal tried at checkout worked (merchant and code for codes, including a code found outside McClipFace, with merchant as the store's domain; offer_id for no-code deals). Not a lookup. Stores no personal or cart data. Optional and off by default (Private mode, which lasts until the shopper changes it). Report only a confirmed result (the shopper says a code worked or was rejected, or a no-code deal did or didn't apply, or you saw it at checkout), never because a code was found, shown or copied. A result you saw counts only if you tried the code with checkout tools the shopper authorized, never an untested or unfinished one. One call per distinct code tested; a success counts even if another code saved more. Consent: report only in Community mode. At the first confirmed success in a conversation, once the purchase is done or declined (never mid-try, mid-purchase, next to the cart offer, or before or instead of a search), ask once: "Success! <code> worked: <saving> off. Want to turn on Community mode so other shoppers get this code too? Only the store, the code and the result are shared, never your cart or anything about you. (Yes / No)" Fill in the real code; leave out ": <saving> off" if the saving isn't known; start with "I tried N codes and" only if you tested them yourself, never for a code the shopper reports. If a try ends with no code working, ask once instead: "None of these worked. Want to turn on Community mode so other shoppers can skip codes that don't work? Only the store, the codes and the results are shared, never your cart or anything about you. (Yes / No)" Yes turns Community mode on for that conversation: report that result and later confirmed results, the shopper's and yours, until the shopper turns it off. No, or no answer, means report nothing and don't ask again in that conversation. It carries to later conversations only if the shopper agreed to remembering it and you noted the version and choice; then ask again only for a newer version. A Community mode yes given to older wording that didn't say the store and code are shared doesn't count: stay in Private mode until the shopper says yes to the current question. No answer is no consent; never infer it from install, lookups or coupon tests. McClipFace can't verify consent, only your statement of it. Keep shopping either way; follow the host's tool approvals. Report once per offer and outcome; for a no-code deal, pass offer_id with outcome worked, didnt_work or not_found. Send only the store, the code or offer_id, the outcome, and optionally reason; never amounts, cart, totals or user data. Commission disclosure for the links the lookup tools return: Offers with tracked=true use affiliate links: a purchase through one may earn a commission at no extra cost. Say so once per chat, before you first share or open one: "This is an affiliate link and may earn a commission at no extra cost to you." Codes are ranked on the code itself. Results come only from affiliate programs McClipFace has joined, its licensed coupon data partner, stores that share their codes with McClipFace directly and codes shoppers reported working at checkout. Commission never affects which offers are returned or how they are ranked. It never puts a pricier option first.
{
"type": "object",
"required": [
"outcome"
],
"properties": {
"code": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "The code tried. Required for a code report; for a no-code deal omit it and pass offer_id."
},
"reason": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Optional short note (at most 200 characters), e.g. why a deal didn't apply. Never cart, price, total or personal data."
},
"outcome": {
"enum": [
"worked",
"rejected",
"failed",
"link_broken",
"didnt_work",
"not_found",
"store_not_covered"
],
"type": "string",
"description": "Codes: worked (checkout accepted it and the total went down), rejected or failed (the store refused it), link_broken (the offer link ended on an error page or never reached the store; never counts against the code). No-code deals: worked, didnt_work (didn't apply at checkout) or not_found (not on the store page or account). A code find_coupons didn't list: merchant and code with worked or rejected and no offer_id (kept for review; once reported working it is offered to other shoppers, for a store we don't list with merchant as its domain). store_not_covered: merchant only, when find_coupons found no match. Every outcome is sent only in Community mode; Private mode, or no mode chosen yet, sends nothing."
},
"merchant": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Store name as used with find_coupons, e.g. \"Tommy John\". Required with code; optional with offer_id."
},
"offer_id": {
"type": "string",
"maxLength": 128,
"minLength": 8,
"description": "Offer id from find_coupons. Required for no-code deal reports; for codes, used instead of merchant and code when set."
},
"eligibility": {
"enum": [
"eligible",
"ineligible",
"unknown"
],
"type": "string",
"default": "unknown",
"description": "eligible: the store said the code itself is invalid or expired; ineligible: the cart, product or account didn't qualify, or it can't stack with another promotion (say so in reason); unknown: can't tell. Only an eligible rejection counts against a code. Don't report inconclusive tests or a code accepted that saved nothing extra."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"disclosure"
],
"properties": {
"status": {
"type": "string"
},
"offer_id": {
"type": "string"
},
"disclosure": {
"type": "string"
}
}
}{
"title": "Report whether a coupon code worked",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}discover_deals — Discover deals for the shopper's interests
Deals and discounts across stores; use it for browsing with no store named. No arguments for general deals, or non-sensitive categories/keywords for the shopper's interests. Present as a short curated edit with each pick's match_reason.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Number of deals, 1-20 (default 10); one store's deals, 1-100 (default 25)."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Optional: the product's category in McClipFace's taxonomy, so results stay in it inferred from what the shopper means, never from a keyword (honey for the pantry: grocery; honey face wash: beauty); omit when unsure. One of: asian-fashion, audio, auto, bags, beauty, bedding, cleaning, computers, education, electronics, eyewear, fashion, fragrance, furniture, gaming, garden, gifts-food, golf, grocery, grooming, haircare, health, home, home-decor, home-improvement, household-essentials, j-beauty, japanese-fashion, jewelry, k-beauty, kitchen, korean-fashion, makeup, marketplace, office-supplies, oral-care, otc-medicine, personal-care, pets, phones, photo-editing, photo-printing, photography, skincare, smart-home, software, sports-outdoors, toys-kids, travel. A close name is mapped to the nearest one; an unknown one is ignored."
},
"currency": {
"type": "string",
"default": "USD",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 code, uppercase (default USD). Only offers in this currency are returned (USD leaves out non-US stores)."
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 10,
"description": "Products, brands or interests, e.g. [\"Sony camera\"]. Leave out categories and keywords for general deals."
},
"categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 10,
"description": "Shopping categories, e.g. [\"skincare\", \"smart home\"]."
},
"exclude_categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 10,
"description": "Categories to leave out."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"status",
"offers",
"disclosure"
],
"properties": {
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"code": {
"type": [
"string",
"null"
]
},
"match": {
"type": "string"
},
"scope": {
"type": "string"
},
"ends_at": {
"type": [
"string",
"null"
]
},
"tracked": {
"type": "boolean"
},
"verified": {
"type": "boolean"
},
"entry_url": {
"type": [
"string",
"null"
]
},
"min_spend": {
"type": [
"number",
"null"
]
},
"offer_type": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"store_domain": {
"type": [
"string",
"null"
]
},
"merchant_display": {
"type": [
"string",
"null"
]
}
}
}
},
"status": {
"type": "string"
},
"deep_link": {
"type": "object"
},
"deep_links": {
"type": "array"
},
"disclosure": {
"type": "string"
},
"report_hint": {
"type": "string"
},
"store_match": {
"type": "string"
}
}
}{
"title": "Discover deals for the shopper's interests",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 777 ms
- 95th percentile latency
- 777 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 777 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http mcclipface-mcp https://mcclipface.com/mcpCodex
codex mcp add mcclipface-mcp --url https://mcclipface.com/mcpCursor
{
"mcpServers": {
"mcclipface-mcp": {
"url": "https://mcclipface.com/mcp"
}
}
}Cline
{
"mcpServers": {
"mcclipface-mcp": {
"type": "streamableHttp",
"url": "https://mcclipface.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"mcclipface-mcp": {
"type": "http",
"url": "https://mcclipface.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http mcclipface-mcp https://mcclipface.com/mcpClaude Desktop
https://mcclipface.com/mcpWindsurf
{
"mcpServers": {
"mcclipface-mcp": {
"serverUrl": "https://mcclipface.com/mcp"
}
}
}Let your agent find its tools
Find servers like McClipFace MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run McClipFace MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.