KlickyMart

Which online stores AI shopping agents can buy from: guest checkout, pay methods, landed cost.

我該用這個嗎

品質與安全性

A
說明品質
97%
結構描述完整度
79%
命名品質
96%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'watch_item' description lacks action verb在 watch_item 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,303Token(工具定義)
~2.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.36%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "klickymart": {
      "url": "https://klickymart.com/mcp"
    }
  }
}

遠端端點

https://klickymart.com/mcpstreamable-http

它能做什麼

工具清單

工具(15)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search_merchants(q, status, min_trust, reachable, category, ...)

Search KlickyMart merchant records (same filters as GET /q)

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "substring of domain or store name"
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "crawled",
          "blocked-tos",
          "agents-not-welcome",
          "error"
        ]
      }
    },
    "min_trust": {
      "type": "string",
      "enum": [
        "flagged",
        "unverified",
        "seen",
        "verified"
      ],
      "description": "Minimum trust_tier; applied before paging so total is exact. Items carry trust_tier, trust_proofs, trust_label, trust_why, src"
    },
    "reachable": {
      "type": "boolean",
      "description": "status crawled and agent access >= 1"
    },
    "category": {
      "type": "string",
      "enum": [
        "shopping",
        "electronics",
        "gift-cards",
        "groceries",
        "apparel",
        "hardware",
        "books",
        "travel",
        "crypto-hardware",
        "other"
      ],
      "description": "shopping (the vertical) or a coarse product category"
    },
    "cat": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "gen",
          "elec",
          "groc",
          "appr",
          "home",
          "beau",
          "food",
          "trav",
          "tix",
          "auto",
          "pet",
          "toy",
          "book",
          "sw",
          "mkt",
          "oth",
          "btcnative",
          "gift",
          "sport",
          "office",
          "craft",
          "jewel"
        ]
      },
      "description": "Fine store-type codes"
    },
    "sub": {
      "type": "string",
      "enum": [
        "audio",
        "computers",
        "phones",
        "tv-video",
        "cameras",
        "gaming",
        "wearables",
        "smart-home",
        "appliances",
        "networking",
        "accessories",
        "gift-cards",
        "wholesale",
        "handbags"
      ],
      "description": "Product family the store sells"
    },
    "btc": {
      "type": "integer",
      "description": "exact BTC grade 0-4"
    },
    "btc_min": {
      "type": "integer"
    },
    "btc_any": {
      "type": "boolean"
    },
    "pay": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "card",
          "apay",
          "gpay",
          "spay",
          "pp",
          "venmo",
          "cashapp",
          "zelle",
          "ach",
          "check",
          "cod",
          "gift",
          "bnpl",
          "ebt",
          "btc",
          "ln",
          "lnurl",
          "bolt12",
          "sp",
          "ark",
          "cashu",
          "fedi",
          "liq",
          "usdc",
          "usdt",
          "eth",
          "xmr",
          "ltc",
          "crypto",
          "oth",
          "hsa",
          "link",
          "btc-onchain",
          "onchain",
          "on-chain",
          "bitcoin_onchain",
          "lightning",
          "btc-lightning",
          "shop-pay",
          "shoppay",
          "apple-pay",
          "applepay",
          "google-pay",
          "googlepay",
          "paypal",
          "gift-card",
          "giftcard",
          "credit-card",
          "debit-card",
          "cash-app",
          "ecash",
          "stripe-link",
          "link-by-stripe",
          "bitcoin",
          "lightning",
          "ecash"
        ]
      },
      "description": "any of these method codes; aliases (btc-onchain, lightning, shop-pay...) are accepted; a single group name (bitcoin, lightning, ecash) works too"
    },
    "pay_all": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pay_group": {
      "type": "string",
      "enum": [
        "bitcoin",
        "lightning",
        "ecash"
      ]
    },
    "scope": {
      "type": "string",
      "enum": [
        "online",
        "instore",
        "unscoped",
        "any"
      ]
    },
    "ag_min": {
      "type": "integer"
    },
    "co_min": {
      "type": "integer"
    },
    "ease_min": {
      "type": "integer"
    },
    "guest": {
      "type": "integer",
      "enum": [
        0,
        1
      ]
    },
    "tos": {
      "type": "string",
      "enum": [
        "ok",
        "bans-automation",
        "unknown"
      ]
    },
    "btc_indirect": {
      "type": "integer",
      "enum": [
        0,
        1
      ],
      "description": "1 = stores where bitcoin works only indirectly (third-party processor such as BitPay/Confirmo/Coinbase Commerce/OpenNode, or a gift card bought with BTC); not native acceptance"
    },
    "ship_pre": {
      "type": "integer",
      "enum": [
        0,
        1
      ],
      "description": "1 = shows shipping and tax before the payment step (observed by the probe)"
    },
    "ships_us": {
      "type": "integer",
      "enum": [
        0,
        1
      ]
    },
    "free_ship_max": {
      "type": "number",
      "description": "free-shipping threshold at or below this many USD (publicly stated)"
    },
    "agent_native": {
      "type": "integer",
      "enum": [
        0,
        1
      ],
      "description": "1 = agent-native stores only"
    },
    "an_cat": {
      "type": "string",
      "enum": [
        "l402",
        "x402",
        "vpn",
        "esim",
        "vps-hosting",
        "gift-cards",
        "nostr-native",
        "agent-commerce",
        "btcmap-online",
        "vps",
        "vpn",
        "esim",
        "paid-api",
        "gift-cards"
      ]
    },
    "rail_status": {
      "type": "string",
      "enum": [
        "verified-402",
        "claimed"
      ]
    },
    "limit": {
      "type": "integer",
      "maximum": 100
    }
  }
}
🟢get_record(domain)

Fetch one merchant record by domain

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟢check_domain(domain, zip)

Can my agent shop here? Verdict for one domain from the index (reachable, checkout-blocked, agents-not-welcome, blocked-tos, error, not-in-index; see verdict_reason and primary_reason), with checkout depth, pay methods, BTC grade, record time and evidence URL. Never triggers a live crawl.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Hostname, e.g. example.com"
    },
    "zip": {
      "type": "string",
      "description": "5-digit US ZIP: adds landed-cost estimate (tax estimate by state, shipping signals)"
    }
  },
  "required": [
    "domain"
  ]
}
🟢find_offers(gtin, mpn, q, domain, zip, ...)

Product-level offers KlickyBot observed on store pages (schema.org JSON-LD or Shopify JSON): price, currency, stock, URL, checked_at. Match by gtin (UPC/EAN), mpn, or name words (q). Optional zip adds a landed-cost estimate; live=true also returns a live (uncached) Shopify Catalog search for q.

輸入結構描述

{
  "type": "object",
  "properties": {
    "gtin": {
      "type": "string"
    },
    "mpn": {
      "type": "string"
    },
    "q": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    },
    "in_stock": {
      "type": "boolean"
    },
    "max_price": {
      "type": "number"
    },
    "live": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "maximum": 100
    }
  }
}
🟢get_landed_price(zip, q, gtin, mpn, url, ...)

One call: a product's landed price at a US ZIP. Searches KlickyMart-observed offers (and, with live=true, the live Shopify Catalog, never stored), and returns for every product: price, stock, url, checked_at, shipping (with source), est. tax with the rate used, est_total ONLY when price+shipping+tax are all known, plus store facts (pay methods incl. Shop Pay/Link/BTC, guest checkout, checkout depth, first blocker). Products from stores KlickyMart has not indexed say 'store not indexed'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "description": "5-digit US ZIP"
    },
    "q": {
      "type": "string"
    },
    "gtin": {
      "type": "string"
    },
    "mpn": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "a product URL to price"
    },
    "domain": {
      "type": "string"
    },
    "in_stock": {
      "type": "boolean"
    },
    "max_price": {
      "type": "number",
      "description": "item price only, before shipping and tax"
    },
    "max_landed": {
      "type": "number",
      "description": "delivered total budget: price + shipping + estimated tax (rows with unknown total are left out)"
    },
    "live": {
      "type": "boolean"
    },
    "condition": {
      "type": "string",
      "enum": [
        "new",
        "refurbished",
        "open-box",
        "used",
        "unknown"
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "headphones",
        "earbuds",
        "headset",
        "speaker",
        "grinder",
        "gift-card",
        "bundle",
        "accessory"
      ]
    },
    "brand_strict": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "maximum": 50
    }
  },
  "required": [
    "zip"
  ]
}
🟡build_experience_note(preset, domain, depth, basis, product, ...)

Returns an UNSIGNED Nostr kind 422 'shopping experience' event template for a store, for you to sign with your own (ideally site-specific) key and publish to your own relays. KlickyMart never signs or publishes for you. Optionally POST the signed event to /reviews (or the submit_review tool). Location must be ZIP3, US state (US-KS) or country only. Proof tags (zap/preimage/cashu/order_hash = sha256 of the confirmation) mark a verified purchase. preset=checkout (record_checkout): one call at the payment screen records subtotal, shipping and tax for a ZIP3; depth is then optional.

輸入結構描述

{
  "type": "object",
  "properties": {
    "preset": {
      "type": "string",
      "enum": [
        "checkout"
      ],
      "description": "checkout = record_checkout: call once at the payment screen, before paying. Needs region (ZIP3 only), price_seen (subtotal), shipping, tax; total optional and checked. Sets basis=visit, depth=payment, shipping_source=checkout. 2+ independent aged keys are needed before a quote drives est_total on /landed."
    },
    "domain": {
      "type": "string"
    },
    "depth": {
      "type": "string",
      "enum": [
        "browse",
        "product",
        "cart",
        "checkout",
        "shipping",
        "payment",
        "paid",
        "delivered"
      ],
      "description": "furthest stage reached (same stages as checkout maps; 'attempt' accepted as an alias)"
    },
    "basis": {
      "type": "string",
      "enum": [
        "visit",
        "directory",
        "secondhand",
        "unknown"
      ],
      "description": "visit = you went to the store; directory = written from KlickyMart data; secondhand = relayed; omitted = unknown. Only visit counts toward the chart."
    },
    "product": {
      "type": "string",
      "description": "product URL or GTIN"
    },
    "guest": {
      "type": "string",
      "enum": [
        "true",
        "false",
        "unknown",
        "yes",
        "no"
      ],
      "description": "yes/no are aliases for true/false"
    },
    "account_required": {
      "type": "string",
      "enum": [
        "true",
        "false",
        "unknown",
        "yes",
        "no"
      ]
    },
    "shown_before_payment": {
      "type": "string",
      "description": "comma list: tax, shipping, none, not-observed or unknown"
    },
    "blocker": {
      "type": "string"
    },
    "walls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "pay_used": {
      "type": "string",
      "description": "vocab pay code (see /vocab.json), e.g. ln, btc, card, spay"
    },
    "pay_offered": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "vocab codes; an empty list means you looked and saw none (tagged none-observed); omit if not checked"
    },
    "btc_route": {
      "type": "string",
      "enum": [
        "native",
        "indirect",
        "lightning"
      ]
    },
    "tax_shown_before_payment": {
      "type": "string",
      "enum": [
        "true",
        "false",
        "unknown",
        "not-observed"
      ]
    },
    "shipping_shown_before_payment": {
      "type": "string",
      "enum": [
        "true",
        "false",
        "unknown",
        "not-observed"
      ]
    },
    "price": {
      "type": "string",
      "description": "the item price you saw (alias price_seen)"
    },
    "price_seen": {
      "type": "string"
    },
    "price_paid": {
      "type": "string",
      "description": "what you actually paid, if you paid"
    },
    "fee": {
      "type": "string",
      "description": "a store or payment fee, e.g. a gift-card fee"
    },
    "shipping_source": {
      "type": "string",
      "enum": [
        "policy",
        "checkout",
        "unknown"
      ],
      "description": "where the shipping amount came from: the store's shipping policy, the checkout itself, or unknown"
    },
    "price_source": {
      "type": "string",
      "enum": [
        "klickymart",
        "store"
      ],
      "description": "price copied from KlickyMart data or read on the store"
    },
    "strict": {
      "type": "boolean",
      "description": "reject unknown fields instead of ignoring them with a warning"
    },
    "estimated": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "description": "true = every amount you give is an estimate; false = none; or a list of amount kinds you estimated (array or comma string, e.g. tax,total)"
    },
    "shipping": {
      "type": "string"
    },
    "tax": {
      "type": "string"
    },
    "total": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "region": {
      "type": "string",
      "description": "ZIP3, US-XX or country code"
    },
    "duration_s": {
      "type": "string"
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "agent": {
      "type": "string"
    },
    "delivered": {
      "type": "string",
      "enum": [
        "true",
        "false",
        "unknown",
        "yes",
        "no"
      ]
    },
    "delivery_days": {
      "type": "string"
    },
    "rating": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    },
    "narrative": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟡get_checkout_map(domain)

Checkout steps our probe reached for a store (stopping at the payment screen, never submitting), the first blocker (bot-wall, http-refusal, network-error, no-product-link, no-add-to-cart, form-gate, login-wall, robots, unclassified, none) and landed-cost signals.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟢recheck_domain(domain)

Re-read robots.txt and the home-page status for an indexed store now. Max 1 per store per 10 minutes (else cached result + next_allowed_at), 60 per hour overall.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
⚪watch_item(gtin, domain, max_price, in_stock, note)

DRAFT (GO D8, not served yet): returns an unsigned kind 420 watch template for price/stock changes. KlickyMart does not act on watches yet and never signs for you.

輸入結構描述

{
  "type": "object",
  "properties": {
    "gtin": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "max_price": {
      "type": "number"
    },
    "in_stock": {
      "type": "boolean"
    },
    "note": {
      "type": "string"
    }
  }
}
🟢find_alternatives(include_blocked, include_indirect, domain, category, sub, ...)

Where else can my agent buy this? Give a blocking domain and/or a category (electronics, gift-cards, groceries, apparel, hardware, books, travel, crypto-hardware, other, or a product word like headphones). Product words resolve to a finer sub (headphones -> audio). Returns in-map stores an agent can reach that sell that product family, ranked by checkout reached, major retailer, main product line, agent access, BTC grade, checkout ease, each with an evidence URL, plus turned_away stores with reasons. Index only; never crawls.

輸入結構描述

{
  "type": "object",
  "properties": {
    "include_blocked": {
      "type": "boolean",
      "description": "also list stores whose checkout is blocked (bot wall or refusal); they rank last. Default false."
    },
    "include_indirect": {
      "type": "boolean",
      "description": "with pay=btc/lightning: also list stores where bitcoin works only through a third-party processor or gift card (labelled btc_route indirect). Default: native acceptance only."
    },
    "domain": {
      "type": "string"
    },
    "category": {
      "type": "string",
      "description": "coarse category or product word (headphones, laptop, gift card...)"
    },
    "sub": {
      "type": "string",
      "enum": [
        "audio",
        "computers",
        "phones",
        "tv-video",
        "cameras",
        "gaming",
        "wearables",
        "smart-home",
        "appliances",
        "networking",
        "accessories",
        "gift-cards",
        "wholesale",
        "handbags"
      ],
      "description": "product family"
    },
    "pay": {
      "type": "string",
      "enum": [
        "card",
        "apay",
        "gpay",
        "spay",
        "pp",
        "venmo",
        "cashapp",
        "zelle",
        "ach",
        "check",
        "cod",
        "gift",
        "bnpl",
        "ebt",
        "btc",
        "ln",
        "lnurl",
        "bolt12",
        "sp",
        "ark",
        "cashu",
        "fedi",
        "liq",
        "usdc",
        "usdt",
        "eth",
        "xmr",
        "ltc",
        "crypto",
        "oth",
        "hsa",
        "link",
        "btc-onchain",
        "onchain",
        "on-chain",
        "bitcoin_onchain",
        "lightning",
        "btc-lightning",
        "shop-pay",
        "shoppay",
        "apple-pay",
        "applepay",
        "google-pay",
        "googlepay",
        "paypal",
        "gift-card",
        "giftcard",
        "credit-card",
        "debit-card",
        "cash-app",
        "ecash",
        "stripe-link",
        "link-by-stripe",
        "bitcoin"
      ]
    },
    "guest": {
      "type": "boolean",
      "description": "exclude stores known to require an account"
    },
    "zip": {
      "type": "string",
      "description": "5-digit US ZIP: adds landed cost per store"
    },
    "taxpre": {
      "type": "boolean",
      "description": "with zip: only stores observed to show shipping and tax before payment"
    },
    "limit": {
      "type": "integer",
      "maximum": 50
    }
  }
}
🟢find_agent_native(category, rail_status, reachable_only, limit)

Agent-native stores: sellers an agent can pay without a browser checkout (L402/x402 paid APIs, VPN, eSIM, VPS, gift cards, nostr-native, agent-commerce). Each item has agent_native {category, label verified-402|claimed, rails, rails_status, probe_402 with price_seen}. verified-402 = our one unauthenticated request got a real HTTP 402 challenge; we never paid. Stores that refuse agents are returned as findings (status not crawled), never as options. Index only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "vps",
        "vpn",
        "esim",
        "paid-api",
        "gift-cards",
        "l402",
        "x402",
        "vpn",
        "esim",
        "vps-hosting",
        "gift-cards",
        "nostr-native",
        "agent-commerce",
        "btcmap-online"
      ]
    },
    "rail_status": {
      "type": "string",
      "enum": [
        "verified-402",
        "claimed"
      ]
    },
    "reachable_only": {
      "type": "boolean",
      "description": "default false: findings (blocked-tos, agents-not-welcome, error) are included and labelled"
    },
    "limit": {
      "type": "integer",
      "maximum": 100
    }
  }
}
🟢get_reviews(domain)

Kind 422 reviews of a merchant (signed claims by pseudonymous keys; not verified by KlickyMart).

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟡submit_review(event, dry_run)

Submit a kind 422 shopping-experience note or review you already signed locally (never send a secret key). Needs a store tag (a=31420:<record-author>:<domain> or r=<domain>) and depth (browse|product|cart|checkout|shipping|payment|paid|delivered; legacy attempt accepted) or rating. Optional: basis (visit|directory|secondhand|unknown; missing = unknown; only visit counts toward the chart), guest, account_required, pay_used, pay_offered, shown_before_payment, amount (price|price_seen|price_paid|fee|shipping|tax|total, optional 'estimated'), region, e (421 fulfillment), zap/preimage/cashu/order_hash. Build the tags with build_experience_note. The reply includes basis and counts_toward_chart. Use a fresh keypair dedicated to KlickyMart for pseudonymity. See /llms.txt.

輸入結構描述

{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "description": "Signed Nostr event JSON (id, pubkey, created_at, kind 422, tags, content, sig)"
    },
    "dry_run": {
      "type": "boolean"
    }
  },
  "required": [
    "event"
  ]
}
🟡submit_store(domain, category, evidence_url, note, agent_name, ...)

Suggest a store KlickyMart has not indexed yet. You only give the domain, a category hint and an optional note: facts come from KlickyMart's gated crawl (robots.txt and ToS first), never from you. Only the bare registrable domain is kept (paths, queries, affiliate/referral parameters and sub-domains stripped). Returns {id, domain, status: queued|duplicate|rejected, reason, trust_tier}. New stores start as trust_tier=unverified ('Unverified · community-submitted'); look-alike or spammy submissions are listed as flagged with the reason, never hidden. Limits: 10/day and 50/week per submitter and per salted network hash. dry_run=true validates without storing. Or publish a signed kind 1423 note (["r", domain], ["t", category], optional ["proof", url]) and pass it as event.

輸入結構描述

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Store domain, e.g. shop.example"
    },
    "category": {
      "type": "string",
      "description": "Category hint (optional)"
    },
    "evidence_url": {
      "type": "string",
      "description": "https page on the same store (optional)"
    },
    "note": {
      "type": "string",
      "description": "Up to 280 chars; links are removed"
    },
    "agent_name": {
      "type": "string",
      "description": "Optional agent name (stored only as a salted id)"
    },
    "event": {
      "type": "object",
      "description": "Optional signed kind 1423 event instead of domain"
    },
    "dry_run": {
      "type": "boolean"
    }
  }
}
🟢wallet_setup_guide

Non-custodial wallet setup guide for agents: Nostr key, self-custodial or agent-friendly Lightning options (NWC, Alby Hub, phoenixd, LNbits) with who holds the funds, how to get a lud16 for tips, Cashu wallets and mint risk, plus a checklist. KlickyMart never generates, holds or sees seeds, funds, NWC secrets or Cashu tokens.

輸入結構描述

{
  "type": "object",
  "properties": {}
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本15 個工具