Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted just now
teppi

Server definition

Hash
sha256:86dbad7896962872ac1087029591ac555bdeed5e995738ce78eb367bc03e0834
What it is
What a remote MCP server returned when asked what it offers: 8 tools

The blob, as servednamed by its sha256

{ "instructions": " UCP Checker — read-only.\n\n This server answers two questions: **is this store agent-ready, and which\n verified stores match what I am looking for?** Every tool reads public,\n observed state. Nothing here writes to a merchant, creates a cart, or\n produces a checkout URL. Once you have chosen a store, transact with that\n store directly.\n\n ## What is UCP?\n UCP is a machine-readable manifest at `/.well-known/ucp` that exposes commerce\n capabilities to AI agents — what a store supports, how to reach it, and how to\n pay. UCP Checker observes those manifests continuously and publishes what it\n finds.\n\n ## Tools\n\n ### check-domain\n Is this store agent-ready? Returns status, spec version, capabilities, latency\n and AI bot policies for any domain, observed — not self-reported.\n\n ### list-categories\n Categories for the deeply audited subset of verified stores, with counts. A way\n to browse, not the whole index.\n\n ### list-stores\n Every verified UCP storefront, best-evidenced first, filterable by platform. Each\n store says what we have observed: transactable, catalogued, resolvable or declared.\n\n ### search-all\n Search product catalogs across the verified stores whose observed catalogue\n matches the query. Returns results grouped by store. Use when the user has no\n store in mind.\n Results are ranked by lexical relevance only — relevance is not endorsement,\n and the conformance record is linked rather than asserted. When nothing\n matches well enough it answers \"No strong match\" and searches no one:\n take that as a cue to check a store you know, not to reword and retry.\n\n ### search-catalog\n Search one store's declared catalog.\n\n ### get-product-details\n Full detail for one product in a store's declared catalog, including variants.\n\n ### search-policies\n A store's return, shipping, refund, privacy and terms policies. Use to check\n trust signals before recommending a merchant.\n\n ### discover-store\n Connect to a store's own MCP endpoint and list the tools it exposes. Use this\n to find out what a store lets an agent do — then talk to the store directly.\n\n ## Resolution flow\n 1. `search-all` or `list-stores` — which verified stores match\n 2. `list-categories` — optional: browse the deeply audited subset by category\n 3. `check-domain` — confirm the store's current observed state\n 4. `search-policies` — check the trust signals\n 5. `discover-store` — see what the store itself offers, and go there to buy\n\n ## What a negative answer means\n Information, not permission. A store missing from the index, or returning\n `not_detected`, has not been observed by us — it is not barred to you. If a\n store matters to your task, try `discover-store` or connect to it directly\n regardless of what we report.\n\n Results carry an evidence band saying how much we have actually seen:\n `transactable` (checkout declared and catalogue read) · `catalogued`\n (catalogue read) · `resolvable` (endpoint resolves, not yet probed) ·\n `declared` (valid manifest, nothing observed beyond it). A low band means\n we have looked less, not that the store is worse.\n\n ## Not available here\n Cart, checkout, order placement, and merchant selection. Use the merchant's own\n endpoint for those — `discover-store` lists what it exposes.\n\n ## Access tiers\n Rate limits scale with how strongly your agent identifies itself:\n - **Anonymous** (no credentials): every tool, at the lowest limits.\n - **Signed** (RFC 9421 HTTP Message Signatures; publish your keys at a\n `Signature-Agent` host's `/.well-known/http-message-signatures-directory`):\n higher limits.\n - **Token** (`Authorization: Bearer {key}`, issued by UCP Checker): highest.\n\n ## Status meanings\n - **verified**: valid UCP manifest found with the required fields\n - **not_detected**: no manifest at /.well-known/ucp (HTTP 404)\n - **invalid**: manifest exists but is missing required fields or invalid JSON\n - **blocked**: access denied (HTTP 403/401 or robots.txt disallow)\n - **unreachable**: connection failed (timeout, DNS, SSL error)", "tools": [ { "description": " Check if a domain supports Universal Commerce Protocol (UCP).\n\n Returns the UCP status, manifest version, capabilities, response latency,\n and AI bot access policies (GPTBot, ClaudeBot, Google-Extended, etc.).\n\n If the store's edge rate-limits the live attempt, the result says so and\n reports the last OBSERVED state and when it was observed — an unobserved\n attempt is never presented as a verdict about the store.\n\n The domain is automatically normalized (removes protocol, www, paths).\n Examples: \"shopify.com\", \"https://www.example.com/path\" → \"example.com\"\n\n A negative result is information, not permission. It reports what UCP\n Checker has observed — it does not say a store cannot be used, and it is\n not a reason to stop. If a store matters to your task, try discover-store\n or connect to it directly regardless of what this returns.", "inputSchema": { "properties": { "domain": { "description": "The domain to check for UCP support (e.g., \"shopify.com\", \"example.com\"). Protocol, www prefix, and paths are automatically removed.", "type": "string" } }, "required": [ "domain" ], "type": "object" }, "name": "check-domain", "outputSchema": null }, { "description": " Discover available shopping tools on a UCP-enabled store.\n\n Connects to the store's MCP endpoint and lists all available\n tools (search, cart, shipping, etc.). Use this to understand\n what a store supports before shopping.\n\n Example: domain: \"allbirds.com\"", "inputSchema": { "properties": { "domain": { "description": "The store domain to discover (e.g., \"allbirds.com\")", "type": "string" } }, "required": [ "domain" ], "type": "object" }, "name": "discover-store", "outputSchema": null }, { "description": " Get full product details including variant IDs from a UCP-enabled store.\n\n Use after search-catalog to see a product's full declared detail, including its variants.\n Pass the Product ID from search results to get all variants with their IDs.\n\n Example: domain: \"allbirds.com\", productId: \"gid://shopify/Product/123456\"", "inputSchema": { "properties": { "domain": { "description": "The store domain (e.g., \"allbirds.com\")", "type": "string" }, "productId": { "description": "The product ID from search-catalog results (e.g., \"gid://shopify/Product/123456\")", "type": "string" } }, "required": [ "domain", "productId" ], "type": "object" }, "name": "get-product-details", "outputSchema": null }, { "description": " List store categories with store counts.\n\n Categories exist only for the deeply audited subset of verified stores,\n so this is a way to browse, not the whole index: list-stores and\n search-all cover every verified storefront. Sorted by number of stores\n (most first).", "inputSchema": { "properties": {}, "type": "object" }, "name": "list-categories", "outputSchema": null }, { "description": " List verified UCP storefronts across every platform, best-evidenced first.\n\n Use when the user wants to browse stores — e.g., \"what stores can I shop\n at?\" or \"show me Wix stores\". To find stores that sell something, prefer\n search-all.\n\n Each store carries what we have actually observed about it, not what it claims:\n\n - `transactable` — declares checkout and we have read its catalogue\n - `catalogued` — we have read its catalogue\n - `resolvable` — its endpoint resolves, we have not probed it yet\n - `declared` — a valid manifest, nothing observed beyond it\n\n Filter by `platform` (shopify, wix, woocommerce, bigcommerce, shopware…).\n `category` narrows to the smaller set of deeply audited stores (see\n list-categories), so leave it out unless the user asks for a category.\n Developer previews and staging hosts are not listed.", "inputSchema": { "properties": { "category": { "description": "Optional. Limit to the deeply audited stores in one category (e.g., \"footwear\"); see list-categories. Most browsing is better without it.", "type": "string" }, "limit": { "description": "Maximum number of stores to return (default: 10, max: 50)", "type": "integer" }, "platform": { "description": "Restrict to one platform, e.g. \"wix\", \"shopify\", \"woocommerce\".", "type": "string" } }, "type": "object" }, "name": "list-stores", "outputSchema": null }, { "description": " Search for products across verified UCP stores at once.\n\n Fans the query out, concurrently, to the stores whose observed catalogue\n best matches it, and returns results grouped by store with each store's\n UCP score and evidence. Rare query words count for more than common ones.\n If no store's catalogue matches well enough, it searches no one and says\n \"No strong match\", naming the words no store carries and the closest weak\n matches, so you can go to a store you know instead of rewording. Slow or\n failing stores are skipped.\n\n `category` narrows the fan-out to the smaller set of deeply audited\n stores; leave it out for most queries.\n\n Example: query: \"mattress topper\", maxStores: 5", "inputSchema": { "properties": { "category": { "description": "Optional. Limit the fan-out to the deeply audited stores in one category (e.g., \"footwear\"); see list-categories. Most queries search better without it.", "type": "string" }, "country": { "description": "ISO country code for localized pricing (e.g., \"US\", \"GB\"). Optional.", "type": "string" }, "maxStores": { "description": "Maximum number of stores to search (default: 5, max: 10)", "type": "integer" }, "query": { "description": "Product search term (e.g., \"running shoes\", \"hoodie\")", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search-all", "outputSchema": null }, { "description": " Search for products on any UCP-enabled Shopify store.\n\n Searches the store's live product catalog via UCP/MCP and returns\n matching products with titles, prices, variants, and images.\n\n Examples:\n - domain: \"allbirds.com\", query: \"tree topper\"\n - domain: \"gymshark.com\", query: \"hoodie\"", "inputSchema": { "properties": { "country": { "description": "ISO country code for localized pricing/inventory (e.g., \"US\", \"GB\", \"CA\"). Optional — defaults to store default.", "type": "string" }, "domain": { "description": "The store domain (e.g., \"allbirds.com\", \"gymshark.com\"). Must be a UCP-enabled Shopify store.", "type": "string" }, "query": { "description": "Product search term (e.g., \"tree topper\", \"wool runners\", \"hoodie\")", "type": "string" } }, "required": [ "domain", "query" ], "type": "object" }, "name": "search-catalog", "outputSchema": null }, { "description": " Search store policies on any UCP-enabled Shopify store.\n\n Query return policies, shipping policies, refund policies, privacy policies,\n terms of service, or any other store policy. Returns the matching policy text.\n\n Use this when a user asks about a store's policies before or after purchase —\n e.g., \"what is the return policy?\", \"do they offer free shipping?\", \"refund window?\"\n\n Example: domain: \"allbirds.com\", query: \"return policy\"", "inputSchema": { "properties": { "domain": { "description": "The store domain (e.g., \"allbirds.com\")", "type": "string" }, "query": { "description": "Policy search term (e.g., \"return policy\", \"shipping\", \"refund window\", \"privacy policy\")", "type": "string" } }, "required": [ "domain", "query" ], "type": "object" }, "name": "search-policies", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:86dbad7896962872ac1087029591ac555bdeed5e995738ce78eb367bc03e0834 | sha256sum