Skip to content

UCP Checker

by ucpchecker.com · remote · no sign-in to list tools · v2.0.0 · published by com.ucpchecker

Check any domain for UCP support and resolve verified UCP storefronts. Read-only, keyless.

Changes · 2

8 tools: 2 change things and 6 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ucp-checker https://ucpchecker.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "discover-store" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "discover-store" says "store": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 2Claude Code: ask
  • check-domainCheck if a domain supports Universal Commerce Protocol (UCP).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check if a domain supports Universal Commerce Protocol (UCP). Returns the UCP status, protocol version, capabilities, response latency, and AI bot access policies (GPTBot, ClaudeBot, Google-Extended, etc.). If the store's edge rate-limits the live attempt, the result says so and reports the last OBSERVED state and when it was observed — an unobserved attempt is never presented as a verdict about the store. The domain is automatically normalized (removes protocol, www, paths). Examples: "shopify.com", "https://www.example.com/path" → "example.com" A negative result is information, not permission. It reports what UCP Checker has observed — it does not say a store cannot be used, and it is not a reason to stop. If a store matters to your task, try discover-store or connect to it directly regardless of what this returns.

    Annotations the server declares

    • readOnlyHint: true
  • discover-storeDiscover available shopping tools on a UCP-enabled store.1 finding

    Why it is in this group

    • The name "discover-store" says "store": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "discover-store" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "discover-store" says "store": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Discover available shopping tools on a UCP-enabled store. Connects to the store's MCP endpoint and lists all available tools (search, cart, shipping, etc.). Use this to understand what a store supports before shopping. Example: domain: "allbirds.com"

    Annotations the server declares

    • readOnlyHint: true
Only reads 6Claude Code: allow
  • get-product-detailsGet full product details including variant IDs from a UCP-enabled store.No findings

    Why it is in this group

    • The name "get-product-details" says "get": a word for reading.
    Description, as the server wrote it
    Get full product details including variant IDs from a UCP-enabled store. Use after search-catalog to see a product's full declared detail, including its variants. Pass the Product ID from search results to get all variants with their IDs. Example: domain: "allbirds.com", productId: "gid://shopify/Product/123456"

    Annotations the server declares

    • readOnlyHint: true
  • list-categoriesList store categories with store counts.No findings

    Why it is in this group

    • The name "list-categories" says "list": a word for reading.
    Description, as the server wrote it
    List store categories with store counts. Categories exist only for the deeply audited subset of verified stores, so this is a way to browse, not the whole index: list-stores and search-all cover every verified storefront. Sorted by number of stores (most first).

    Annotations the server declares

    • readOnlyHint: true
  • list-storesList verified UCP storefronts across every platform, best-evidenced first.No findings

    Why it is in this group

    • The name "list-stores" says "list": a word for reading.
    Description, as the server wrote it
    List verified UCP storefronts across every platform, best-evidenced first. Use when the user wants to browse stores — e.g., "what stores can I shop at?" or "show me Wix stores". To find stores that sell something, prefer search-all. Each store carries what we have actually observed about it, not what it claims: - `transactable` — declares checkout and we have read its catalogue - `catalogued` — we have read its catalogue - `resolvable` — its endpoint resolves, we have not probed it yet - `declared` — a valid profile, nothing observed beyond it Filter by `platform` (shopify, wix, woocommerce, bigcommerce, shopware…). `category` narrows to the smaller set of deeply audited stores (see list-categories), so leave it out unless the user asks for a category. Developer previews and staging hosts are not listed.

    Annotations the server declares

    • readOnlyHint: true
  • search-allSearch for products across verified UCP stores at once.No findings

    Why it is in this group

    • The name "search-all" says "search": a word for reading.
    Description, as the server wrote it
    Search for products across verified UCP stores at once. Fans the query out, concurrently, to the stores whose observed catalogue best matches it, and returns results grouped by store with each store's UCP score and evidence. Rare query words count for more than common ones. If no store's catalogue matches well enough, it searches no one and says "No strong match", naming the words no store carries and the closest weak matches, so you can go to a store you know instead of rewording. Slow or failing stores are skipped. `category` narrows the fan-out to the smaller set of deeply audited stores; leave it out for most queries. Example: query: "mattress topper", maxStores: 5

    Annotations the server declares

    • readOnlyHint: true
  • search-catalogSearch for products on any UCP-enabled Shopify store.No findings

    Why it is in this group

    • The name "search-catalog" says "search": a word for reading.
    Description, as the server wrote it
    Search for products on any UCP-enabled Shopify store. Searches the store's live product catalog via UCP/MCP and returns matching products with titles, prices, variants, and images. Examples: - domain: "allbirds.com", query: "tree topper" - domain: "gymshark.com", query: "hoodie"

    Annotations the server declares

    • readOnlyHint: true
  • search-policiesSearch store policies on any UCP-enabled Shopify store.No findings

    Why it is in this group

    • The name "search-policies" says "search": a word for reading.
    Description, as the server wrote it
    Search store policies on any UCP-enabled Shopify store. Query return policies, shipping policies, refund policies, privacy policies, terms of service, or any other store policy. Returns the matching policy text. Use this when a user asks about a store's policies before or after purchase — e.g., "what is the return policy?", "do they offer free shipping?", "refund window?" Example: domain: "allbirds.com", query: "return policy"

    Annotations the server declares

    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ucp-checker https://ucpchecker.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ucp-checker__list-stores",
      "mcp__ucp-checker__list-categories",
      "mcp__ucp-checker__search-catalog",
      "mcp__ucp-checker__search-all",
      "mcp__ucp-checker__search-policies",
      "mcp__ucp-checker__get-product-details"
    ],
    "ask": [
      "mcp__ucp-checker__check-domain",
      "mcp__ucp-checker__discover-store"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ucp-checker. Review it before you use it.