Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:95ddfc1631acf08c801515d354569da45ad4fb0850d0f422d8a76b9581e0e28e
What it is
What a remote MCP server returned when asked what it offers: 11 tools

The blob, as servednamed by its sha256

{ "instructions": "This server lets you browse this shop's catalogue and assemble a purchase on\nbehalf of a customer.\n\nAuth: public — no key or login. Call initialize once to begin. A session id is\nreturned but not required; the basket_token from create-basket is the only\ncredential that matters, so keep it private.\n\nFlow: search-products -> get-product -> create-basket -> add-to-basket ->\nlist-shipping-methods -> start-checkout.\n\nExploring is safe. Bad slugs, tokens, variant IDs, discount codes and checkout\nfields all return isError:true with a plain reason and a hint — so probe and\nself-correct rather than bailing to the human. The only step that moves money\nis payment.\n\nPayment has two routes: a human pay_url (pay-by-bank — the customer authorises\nin their own banking app) AND, when offered, an x402_payment_url for autonomous\nUSDC settlement with no human needed. State both plainly; never tell a customer\nan agent can't pay. Never claim to have paid — confirm with get-order-status.\n\nMoney: product prices are strings in pounds (e.g. \"14.99\"); basket and order\ntotals are integers in pence. Don't mix them up.", "tools": [ { "description": "Add a product variant to a basket. Get variant IDs from get-product. Returns the updated basket.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" }, "quantity": { "description": "Quantity to add (default 1).", "type": "integer" }, "variant_id": { "description": "The product variant ID to add.", "type": "integer" } }, "required": [ "basket_token", "variant_id" ], "type": "object" }, "name": "add-to-basket", "outputSchema": null }, { "description": "Apply a discount code to a basket. Returns the updated basket with the discount reflected in the totals.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" }, "code": { "description": "The discount code to apply.", "type": "string" } }, "required": [ "basket_token", "code" ], "type": "object" }, "name": "apply-discount-to-basket", "outputSchema": null }, { "description": "Create a new basket. Returns a basket_token — keep it and pass it to every basket and checkout tool. Treat it as a secret.", "inputSchema": { "properties": {}, "type": "object" }, "name": "create-basket", "outputSchema": null }, { "description": "Check an order's status. Requires the order number AND the email it was placed with.", "inputSchema": { "properties": { "email": { "description": "The email address the order was placed with.", "type": "string" }, "order_number": { "description": "The order number, e.g. ORD-260612-AB3D.", "type": "string" } }, "required": [ "order_number", "email" ], "type": "object" }, "name": "get-order-status", "outputSchema": null }, { "description": "Get a product's full details by slug: description, options, and every variant with its SKU, price and stock. Variant IDs are what you add to a basket.", "inputSchema": { "properties": { "slug": { "description": "The product slug, e.g. \"enamel-mug\".", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get-product", "outputSchema": null }, { "description": "List available delivery methods, optionally filtered by destination country (ISO 2-letter code). Use the method ID in start-checkout.", "inputSchema": { "properties": { "country": { "description": "Optional ISO 3166-1 alpha-2 destination country, e.g. \"GB\".", "type": "string" } }, "type": "object" }, "name": "list-shipping-methods", "outputSchema": null }, { "description": "Remove a line from a basket. Returns the updated basket.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" }, "item_id": { "description": "The basket line ID (from view-basket).", "type": "integer" } }, "required": [ "basket_token", "item_id" ], "type": "object" }, "name": "remove-from-basket", "outputSchema": null }, { "description": "Search the shop catalogue. Returns matching products with their slugs, price and stock availability. Use get-product for full details and variants.", "inputSchema": { "properties": { "query": { "description": "Search terms. Omit or leave empty to list the latest products.", "type": "string" } }, "type": "object" }, "name": "search-products", "outputSchema": null }, { "description": "Turn a basket into an order and get payment links. Two ways to pay: a human pay_url (pay-by-bank, the customer authorises in their banking app) and, when offered, an x402_payment_url for autonomous USDC settlement with no human needed. Never claim to have paid — confirm with get-order-status. For digital-only baskets, only name and country are required in shipping_address.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" }, "email": { "description": "Customer email for order confirmation.", "type": "string" }, "shipping_address": { "description": "Customer address. For digital-only baskets only name and country are needed; physical orders also need line1, city and postcode.", "properties": { "city": { "description": "Required for physical delivery; omit for digital-only baskets.", "type": "string" }, "country": { "description": "ISO 2-letter country code, e.g. GB.", "type": "string" }, "county": { "type": "string" }, "line1": { "description": "Street address. Required for physical delivery; omit for digital-only baskets.", "type": "string" }, "line2": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string" }, "postcode": { "description": "Required for physical delivery; omit for digital-only baskets.", "type": "string" } }, "required": [ "name", "country" ], "type": "object" }, "shipping_method_id": { "description": "Delivery method ID from list-shipping-methods. Omit for baskets containing only digital products.", "type": "integer" } }, "required": [ "basket_token", "email", "shipping_address" ], "type": "object" }, "name": "start-checkout", "outputSchema": null }, { "description": "Change the quantity of a basket line. A quantity of 0 removes it. Returns the updated basket.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" }, "item_id": { "description": "The basket line ID (from view-basket).", "type": "integer" }, "quantity": { "description": "New quantity; 0 removes the line.", "type": "integer" } }, "required": [ "basket_token", "item_id", "quantity" ], "type": "object" }, "name": "update-basket-item", "outputSchema": null }, { "description": "View a basket: its lines, quantities and subtotal.", "inputSchema": { "properties": { "basket_token": { "description": "The basket token from create-basket.", "type": "string" } }, "required": [ "basket_token" ], "type": "object" }, "name": "view-basket", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:95ddfc1631acf08c801515d354569da45ad4fb0850d0f422d8a76b9581e0e28e | sha256sum