protogrid

Search / io.github.hardtab/supercheap-shopping

SuperCheap

R0· no sign-in

Search products, manage a customer cart, and request current checkout quotes.

v0.1.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality90strong
Trust78of 100
Uptime, 30 days90%
Latency p50942 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "supercheap-shopping": {
      "type": "http",
      "url": "https://supercheap.market/mcp"
    }
  }
}
claude mcp add --transport http supercheap-shopping https://supercheap.market/mcp
[mcp_servers.supercheap-shopping]
url = "https://supercheap.market/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "supercheap-shopping": {
      "type": "remote",
      "url": "https://supercheap.market/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "supercheap-shopping": {
      "type": "http",
      "url": "https://supercheap.market/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=supercheap-shopping&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc3VwZXJjaGVhcC5tYXJrZXQvbWNwIn0%3D"
}
{
  "servers": {
    "supercheap-shopping": {
      "type": "http",
      "url": "https://supercheap.market/mcp"
    }
  }
}
{
  "mcpServers": {
    "supercheap-shopping": {
      "httpUrl": "https://supercheap.market/mcp"
    }
  }
}
extensions:
  "supercheap-shopping":
    enabled: true
    name: "supercheap-shopping"
    type: streamable_http
    uri: "https://supercheap.market/mcp"
    timeout: 300

Quality 90 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,209 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 0 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 2,209 tokens to load them all · tool set 4ddbb3f99b86 · checked 2026-10-19 11:27 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 78 / 100

no-repository
provenance45
liveness96
freshness100
hygiene80

+website +reachable +uptime-90% +updated-18d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://supercheap.market/mcp streamable-httpnoneyes90%942 ms2026-07-282026-10-19

Tools (7)

catalog_get_productGet product details, offer, attributes, variants, media, and a SuperCheap deep link. If the item is a supplier preview, this may request background supplier-detail hydration and returns its current status; retry while pending until full product details are available before choosing a configuration or adding it to a cart.
catalog_get_similar_productsFind similar products with stable continuation across catalog and supplier sources. Use nextCursor with the same item and market for subsequent pages. A short page is not exhaustion when continuation is present. If status is pending or supplierExpansion is queued, running, or throttled, retry at retryAfter or supplierRetryAt. Supplier previews must be hydrated with catalog_get_product before choosing a configuration or adding to cart. Present only buyer-market offer prices, never supplier costs.
catalog_report_product_impressionsRecord only products that were actually presented to the shopper. Searching alone does not mark products as viewed. This idempotent impression signal is used to demote or exclude products in later searches.
catalog_search_productsSearch canonical products with category, attribute, price, provider, vendor, sorting, and bounded pagination filters. Attribute pairs are forwarded to supplier discovery as provider Pid/Vid filters when expansion is needed, so keep the exact attributeId/valueId returned by facets. When the shopper requests N products, set limit=N (1–48); leave it unset to use the default of 12 when no count is specified. Set compact=true when limit exceeds 24; compact changes card payload size, not card selection. The product-card UI displays every returned item and supplier preview, up to 24 cards per result. Do not fetch a larger page and then select fewer only in prose: those returned cards still appear in the UI. If the shopper wants only the existing catalog or says not to search suppliers, set expandSuppliers=false so previews are not added. When product-card UI is attached, do not claim product photos are unavailable solely because the text response lacks inline images; refer to the rendered cards. Set freshOnly=true to exclude products already opened or explicitly exposed to this shopper. Use nextCursor for stable exploration pages, or nextOffset when nextCursor is unavailable; keep using the same query and filters. If status is pending, wait until retryAfter and resume with nextCursor as cursor, or nextOffset as offset when no cursor is returned; never restart a pending search from the first page. Supplier discovery automatically runs in the background for missing, weak, or exhausted results unless expandSuppliers=false. A broad result withholds unconfirmed canonical cards and describes only the current page. Continue with nextCursor when present, otherwise nextOffset; zero supplier previews on a page does not mean the search is exhausted. If supplierExpansion is queued, running, or throttled, wait until supplierRetryAt and repeat the same search. Set waitForSupplierResults=true to have the server poll a queued supplier expansion for up to maxWaitMs before returning.
category_get_treeread-onlyReturn a bounded category subtree. Use rootCategoryId and maxDepth to avoid loading the entire taxonomy.
category_searchread-onlyFind canonical SuperCheap categories using lexical and semantic matching.
market_listread-onlyFind supported SuperCheap country, language, currency, and checkout availability combinations.

Schemas: list_tools.

Similar MCP servers

More from io.github.hardtab

Official server.json
{
  "name": "io.github.hardtab/supercheap-shopping",
  "title": "SuperCheap",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://supercheap.market/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "websiteUrl": "https://supercheap.market/",
  "description": "Search products, manage a customer cart, and request current checkout quotes."
}